Ios – Swift 3 JSON NSFastEnumerationIterator has no subscript members

iosswift

Im using Swift 3 and Alamofire 4.0. I am able to print out the entire response but I am having trouble looping through and printing out each value. I am getting a " Type 'NSFastEnumerationIterator.Element' (aka 'Any') has no subscript members when I try to print out 'title' below. Any help is greatly appreciated.

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

                }
            }
        }
    } 

Best Answer

Just use native Swift Array. Use always Swift native types unless you have absolutely no choice. NSArray lacks type information so the compiler cannot infer that the array contains dictionaries.

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