NSFastEnumerationIteration.member Swift 3
У меня есть некоторые трудности с конвертацией моего приложения Swift 2.2 в Swift 3.0. У меня есть некоторые ошибки, и я пока не могу найти решение. В настоящее время моя худшая проблема с NSFastEnumerationIteration
Я пытаюсь получить записи из JSON, но с этой ошибкой я не могу. Это скриншот моего кода с проблемой:
2 ответа
Решение
В Swift 3 вам нужно указать тип объекта, поэтому укажите тип ваших данных. [[String:Any]]
,
if let dataArr = data as? [[String: Any]] {
for dd in dataArr {
//your code for accessing dd.
}
}
Поскольку в цикле известно только то, что ваши переменные данные являются массивом, и больше ничего не знает, поэтому вам нужно также указать тип содержимого ваших переменных данных:
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
}
}