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
}
}
我很难将我的 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
}
}