【发布时间】:2016-11-14 14:10:03
【问题描述】:
我有一个 plist 文件,配置是这样的。
它的根是dictionary,它有3个项目,项目1,项目2,项目3
第 3 项本身是一个array。
当我得到 root_dict 的值时,item3 将值返回为array。
Item3 有一个项目 (item4),它是 dictionary。 item 4 有一个 item(item5)
我想得到item5的值
root_dict
item1 --- string
item2 --- dict
item3 --- array
|
------ item 4 ---- dic
|
-------------item5----array
我正在使用以下代码:
var myDict: NSDictionary?
if let path = NSBundle.mainBundle().pathForResource("info", ofType: "plist") {
myDict = NSDictionary(contentsOfFile: path) //mydict has 3 item
}
var dicData = myDict!["item3"] as! Dictionary<String, AnyObject>
for (key, value) in dicData{
print(key)
}
它不工作。
我们将不胜感激任何形式的帮助。
【问题讨论】:
-
您正在尝试将数组转换为字典,这是不可能的,请更改您的代码
var dicData = myDict!["item3"] as! [[String:AnyObject]] -
如果我使用你的代码,它会给出无法将类型“__NSArrayM”(0x7fff764d25c8)的值转换为“NSDictionary”(0x7fff764d2aa0)。
-
看起来你的 plist 根对象是一个数组