我很难将我的 Swift 2.2 应用程序转换为 Swift 3.0。我有一些错误,我还没有找到解决方案。目前,我最糟糕的问题是NSFastEnumerationIteration
,我尝试从 JSON 获取记录,但由于这个错误我不能。这是我的代码有问题的屏幕截图:
问问题
98 次
2 回答
1
在 Swift 3 中,您需要指定对象的类型,因此将数据数组的类型指定为[[String:Any]]
.
if let dataArr = data as? [[String: Any]] {
for dd in dataArr {
//your code for accessing dd.
}
}
于 2016-09-25T13:08:18.973 回答
0
For in 循环只知道您的变量 data是一个数组,不知道其他任何内容,因此您还需要提供变量 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
}
}
于 2016-09-26T12:13:47.497 回答