Swift 3 JSON NSFastEnumerationIterator没有下标成员

即时通讯使用Swift 3和Alamofire 4.0。 我能够打印出整个回复,但是我无法循环和打印出每个值。 我得到一个“types”NSFastEnumerationIterator.Element“(又名”任何“)没有下标成员,当我尝试打印出”标题“下面的任何帮助,非常感谢。

Alamofire.request(url).responseJSON { response in if let dict = response.result.value as? Dictionary<String, AnyObject> { if let datas = dict["data"] as? NSArray{ for data in datas{ print("DEVELOPER: \(data)") if let title = data["myTitle"] as? String{ print(title) } } } } } 

只要使用本地的Swift Array 。 除非你绝对没有select,否则总是使用Swift本地types。 NSArray缺lesstypes信息,所以编译器不能推断出该数组包含字典。

 if let datas = dict["data"] as? [[String:Any]] { 

有时你想保持你的数据结构化,所有你需要做的就是在循环中检查字典本身,如下所示:

 for apple in apples { if let _ = apple as? [String:AnyObject] { // do whatever you like here } }