类型nsfastenumerationiterator.element又名任何没有下标成员

时间:2016-09-16 15:19:30

标签: swift

我已将Xcode从7更新为8,将Swift从2.3更新为3.

我在let names = candidate["CandidateName"]!收到此错误:

  

输入nsfastenumerationiterator.element,即任何没有下标成员

enter image description here

    let url = URL(string: "https://website.com")
    let data = try? Data(contentsOf: url!)
    var tmpValues = try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSArray
    tmpValues = tmpValues.reversed() as NSArray
    reloadInputViews()


    for candidate in tmpValues {
        if ((candidate as? NSDictionary) != nil) {
            let names = candidate["CandidateName"]!

            //self.values.append(candidate["CandidateName"])
            self.values.append(name!)
            print(name)

        }
    }

1 个答案:

答案 0 :(得分:9)

我认为你的in循环应该是这样的。这对我有用。但请确保var tmpValues。

for candidate in (tmpValues as? [[String:Any]])! {
     if ((candidate as? NSDictionary) != nil) {
         let names = candidate["CandidateName"]! as? String

         //self.values.append(candidate["CandidateName"])
         self.values.append(name!)
         print(name)

     }
 }