我有一个函数需要一个字典,我需要解析里面的信息。在swift字典里访问swift数组
我可以从字典中获得一个NSArray,但不应该能够访问本机的swift数组?
class func parseResults(resultsDict:Dictionary<String, AnyObject>) -> Array<Track>? {
var results : NSArray = resultsDict["results"] as NSArray // This works
//var results : Array = resultsDict["results"] as Array<AnyObject> // This doesnt work
...
}
我知道了,谢谢。如果我使用NSJSONSerialization类来获取NSArray或NSDictionary,我应该继续使用基础类还是它们的swift本地等价物来解析它的内容?换句话说,我是否应该将resultsDict更改为NSDictionary类型? –
'NSJSONSerialization'是基础类,我建议与它一起使用基础类,以避免不必要的桥接。 'Dictionary'无论如何不会给你更多的类型安全。 –
很抱歉,这是不正确的,'NSArray'可以无缝桥接到'Array'类。阅读我的回答和https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html#//apple_ref/doc/uid/TP40014216-CH6-XID_39 – Jack