NSFastEnumerationIteration.member Swift 3

NSFastEnumerationIteration.member Swift 3

我很难将我的 Swift 2.2 应用程序转换为 Swift 3.0。 我有一些错误,我还没有找到解决方案。目前,我最糟糕的问题是 NSFastEnumerationIteration,我尝试从 JSON 获取记录,但由于这个错误我做不到。这是我的问题代码的屏幕截图:

在Swift3中你需要指定对象的类型,所以指定你的数据数组的类型为[[String:Any]]

if let dataArr = data as? [[String: Any]] {
    for dd in dataArr {
        //your code for accessing dd.
    }
}

For in loop 只知道你的variable data 是一个数组,不知道任何其他信息,因此您还需要提供您的变量数据的内容类型 ]:

let dataToParse = dataweneed.data(using: String.Encoding.utf8.rawValue)!
let jsonOptions = [JSONSerialization.ReadingOptions.mutableContainers]
let data = try JSONSerialization.jsonObject(with: dataToParse, options: jsonOptions)

// now For in loop would know that you
// could have an array of dictionaries
if let data = data as? [[String: Any]] {
  for dd in data {
    // your code
  }
}