0

我有一个存储字符串和整数的字典。这本词典的类型是[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

谢谢你。

4

1 回答 1

1

你不能。当你把它变成一个[String:AnyObject]. 您所做的,将每个值转换为您所知道的,是正确的。

当然,真正的解决方案是拥有一个带有和属性的 Person类型occupationage

struct Person {
    var occupation:String
    var age:Int
}

现在每个属性都有一个固有的类型,你不需要强制转换。

于 2016-04-29T18:31:32.510 回答