如何轻松读取字典中存储的AnyObject?
How to easily read AnyObject stored in dictionaries?
我有一本字典,可以存储字符串和整数。这本词典的类型是 [String:AnyObject]
.
var person: [String:AnyObject] = ["occupation": "teacher", "age": 1]
我是这样读这本词典的:
occupationLabel.text = person["occupation"] as! String
let newAge = person["age"] as! Int + 1
不方便。如何通过以下方式使用这本词典?
occupationLabel.text = person["occupation"]
let newAge = person["age"] + 1
谢谢。
你不能。当你将它设为 [String:AnyObject]
时,你就放弃了字典值的静态类型。您正在做的,将每个值转换为您所知道的值,是正确的。
真正的 解决方案,当然是让 Person type 具有 occupation
和 age
属性!
struct Person {
var occupation:String
var age:Int
}
现在每个 属性 都有一个固有类型,您不需要转换。
我有一本字典,可以存储字符串和整数。这本词典的类型是 [String:AnyObject]
.
var person: [String:AnyObject] = ["occupation": "teacher", "age": 1]
我是这样读这本词典的:
occupationLabel.text = person["occupation"] as! String
let newAge = person["age"] as! Int + 1
不方便。如何通过以下方式使用这本词典?
occupationLabel.text = person["occupation"]
let newAge = person["age"] + 1
谢谢。
你不能。当你将它设为 [String:AnyObject]
时,你就放弃了字典值的静态类型。您正在做的,将每个值转换为您所知道的值,是正确的。
真正的 解决方案,当然是让 Person type 具有 occupation
和 age
属性!
struct Person {
var occupation:String
var age:Int
}
现在每个 属性 都有一个固有类型,您不需要转换。