【发布时间】:2015-04-04 16:00:43
【问题描述】:
我将 Xcode 6 与 Swift 一起使用。
当我以编程方式创建字典时,我可以按键或值打印出来或创建数组。当我从 plist 创建和加载字典时,我可以总共打印 plist,但不能创建数组或打印键或值。错误消息是“NSDictionary?”没有名为“值”的成员。
我注意到编程字典打印在括号内,键和值之间有一个冒号,但 plist 加载的字典打印在括号内,键和值之间有 = 符号。我认为这可能是问题所在,但不知道为什么以这种方式格式化或如何修复它。
// Programmatic Dictionary Code
var newDict:[String:String] = ["car":"ground", "airplane":"sky", "boat":"water"]
println("newDict key:value are: \(newDict)")
//Prints Out as expected
newDict key:value are: [car: ground, boat: water, airplane: sky]
// plist read to Dictionary Code
var type : NSDictionary?
if let path = NSBundle.mainBundle().pathForResource("transport", ofType: "plist") {
type = NSDictionary(contentsOfFile:path)
}
println(type)
// print out isn't the same as above
Optional({
airplane = sky;
boat = water;
car = ground;
})
尝试访问此已加载字典中的键或元素会返回一条错误消息,指示该字典没有成员 ....
我一直找不到任何东西来解释为什么加载的字典会有所不同或如何访问成员。
【问题讨论】:
标签: ios swift dictionary plist