我已经看到很多关于如何从swift中获取plist值的示例 - 但是所有这些都涉及在从plist读取变量之后对类型进行类型转换。既然我们已经在plist中创建了一个类型的属性,为什么我们必须再次输入它?有没有办法从plist中读取它们在plist中的类型?
例如,这是我用来从plist中读取值的方法:
extension Bundle {
var someVar: String {
return object(forInfoDictionaryKey: "someVar") as? String ?? ""
}
}
当我在plist中将它作为String键入时,为什么我需要再次将变量强制转换为String?
答案 0 :(得分:1)
因为你的plist是[String: Any]
字典。它可以保存不是String
的值,并且编译器无法知道什么是什么,直到你明确告诉它 - 通过你正在进行的转换。
答案 1 :(得分:1)