gpt4 book ai didi

ios - 快速循环一组 NSDictionaries

转载 作者:搜寻专家 更新时间:2023-11-01 05:49:15 25 4
gpt4 key购买 nike

好的,试图 catch 末类车学习 Swift,我看到了类似的问题,但我没有让他们解决我的问题。

我有一个名为 entriesNSDictionary,其中一个值对应于键 "TYPES" 是一个 NSArray 的 NSDictionaries。我正在尝试遍历后者 NSDictionary 并检索键 "TID" 的整数值,我正在做:

for dict in entries["TYPES"] as NSDictionary {
let tid : Int = typeDict["TID"]
}

但我收到错误:(key: AnyObject, value: AnyObject) does not have a member named 'subscript'

我理解这是由于 entries["TYPES"]anyObject! 并且来自 Xcode 6 beta 6,其中大量的 Foundation API 已经过审计对于可选的一致性,因此需要解包,但我已尽力解包但没有成功,编译器总是提示不同的事情。有人知道怎么做吗?

最佳答案

如果这是你的字典样本:

var entries: NSDictionary = [
"TYPES": [
[],
["TPD": 2],
["TID": 4]
] as NSArray
]

你必须:

  • 检索由 TYPES 键标识的元素,并尝试转换为 NSArray
  • 遍历数组的所有元素
  • 尝试将每个元素转换为 NSDictionary
  • 检查 TID 键是否存在,并读取它的值
  • 如果值不为nil,则搜索结束

这是代码:

var tid: Int?
if let types = entries["TYPES"] as? NSArray {
for type in types {
if let dict = types.lastObject as? NSDictionary {
tid = dict["TID"] as? Int
if tid != nil {
break
}
}
}
}

使用示例数据在 playground 中运行代码,我看到的输出是 {Some 4}

但是我会考虑@Zaph 的建议,并使用结构和/或类以不同的方式为您的数据建模

关于ios - 快速循环一组 NSDictionaries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com