Fab*_*eri 1 for-loop nsdictionary ios swift
好的,试图抓住最后一班火车来学习斯威夫特,我看到了类似的问题,但我没有让他们解决我的问题.
我有一个NSDictionary被调用的entries,其中一个值对应于key "TYPES"是一个NSArrayNSDictionaries.我试图循环后者NSDictionary并检索键的整数值"TID",我正在做:
for dict in entries["TYPES"] as NSDictionary {
let tid : Int = typeDict["TID"]
}
Run Code Online (Sandbox Code Playgroud)
但我收到的错误是:(key: AnyObject, value: AnyObject)没有名为'下标'的成员
我知道这是由于entries["TYPES"]存在anyObject!并来自Xcode 6 beta 6,其中大量的Foundation API已经过审计,可选的一致性,因此需要解包但我尽力解开没有成功,编译器总是抱怨不同事情.有人知道怎么做吗?
如果这是您的字典示例:
var entries: NSDictionary = [
"TYPES": [
[],
["TPD": 2],
["TID": 4]
] as NSArray
]
Run Code Online (Sandbox Code Playgroud)
你必须:
TYPES键标识的元素,并尝试强制转换为NSArrayNSDictionaryTID密钥是否存在,并读取其值这是代码:
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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用示例数据在操场上运行代码,我看到的输出是{Some 4}.
但是,我会考虑@ Zaph的建议并使用结构和/或类以不同的方式对数据进行建模
| 归档时间: |
|
| 查看次数: |
11472 次 |
| 最近记录: |