kampbell411 kampbell411 - 1 year ago 1430
iOS Question

Swift 3 JSON NSFastEnumerationIterator has no subscript members

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{


Answer Source

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]] {
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download