加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Swift中按键获取字典中的项目索引

发布时间:2020-12-14 04:46:58 所属栏目:百科 来源:网络整理
导读:我这样做是为了遍历我的字典,直到我匹配密钥.我的字典被定义为[Int:String] var index = 0for (key,value) in mylist! { if key == property.propertyValue as! Int { // use index here } index += 1} 有一个更好的方法吗?我看到了过滤的例子(类似下面的
我这样做是为了遍历我的字典,直到我匹配密钥.我的字典被定义为[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!]

正如在其他答案中所说,字典可能不是您正在寻找的数据结构.但这应该回答你问过的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读