Ios Swift 3 JSON NSFastEnumerationIterator没有下标成员

Ios Swift 3 JSON NSFastEnumerationIterator没有下标成员,ios,swift,Ios,Swift,我使用Swift 3和Alamofire 4.0。我能够打印出整个响应,但我在循环和打印每个值时遇到了问题。我得到了一个“类型”NSFastEnumerationIterator。当我试图打印下面的“标题”时,元素(也称为“Any”)没有下标成员。非常感谢您的帮助 Alamofire.request(url).responseJSON { response in if let dict = response.result.value as? Dictionary<Str

我使用Swift 3和Alamofire 4.0。我能够打印出整个响应,但我在循环和打印每个值时遇到了问题。我得到了一个“类型”NSFastEnumerationIterator。当我试图打印下面的“标题”时,元素(也称为“Any”)没有下标成员。非常感谢您的帮助

 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)
                        }

                }
            }
        }
    } 
Alamofire.request(url.responseJSON{response in
如果让dict=response.result.value作为字典{
如果let data=dict[“data”]as?NSArray{
对于数据中的数据{
打印(“开发人员:\(数据)”)
如果让title=data[“myTitle”]作为字符串{
印刷品(标题)
}
}
}
}
} 

只需使用本机Swift
Array
。除非您完全没有选择,否则请始终使用Swift本机类型。
NSArray
缺少类型信息,因此编译器无法推断数组包含字典

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

有时,您希望保持数据的结构化,只需在循环中检查字典本身,如下所示:

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

没有正确理解您的问题!!@KetanParar我收到一个错误,上面说“Type'NSFastEnumerationIterator.Element'(又名'Any')没有下标成员”。错误发生在我试图打印“title”时。非常感谢,这是绝对正确的。我同意,但使用数组[[String:AnyObject]]将使您无法使用它附带的所有有用功能。添加、删除、在索引中查找等。。。