我这样做是为了遍历我的字典,直到我匹配密钥.我的字典被定义为[Int:String]
var index = 0 for (key,value) in mylist! { if key == property.propertyValue as! Int { // use index here } index += 1 }
有一个更好的方法吗?我看到了过滤的例子(类似下面的例子),但我不知道如何使它与字典一起工作.我可以使用这样的东西来找到项目的索引吗?或者还有另一种方式吗?
mylist.filter{$0.key == 1}
更新:
这有效:
let index = Array(mylist!.keys).index(of: 1)
但这不是:
let index = mylist!.index(forKey: 1)
看来他们俩都应该工作.我想知道为什么第二个没有.
解决方法
如果我理解正确,你可以这样做:
let myList = [ 2: "Hello",4: "Goodbye",8: "Whats up",16: "hey" ] let index = Array(myList.keys).index(of: property.propertyValue)
然后再找到你要找的钥匙……
let key = Array(myList.keys)[index!]
正如在其他答案中所说,字典可能不是您正在寻找的数据结构.但这应该回答你问过的问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。