2016-03-26 5 views
2

Мой проект работал нормально и до сих пор отлично работает при использовании симулятора. Но когда я подключить iPhone и попытаться запустить проект, я получаю эту ошибку: «Неоднозначное использование индексного» при получении JSON данных в этой строке:«Неоднозначное использование индекса» Ошибка после нового обновления Swift

let channels = jsonResult["channels"]?[0] as? [String: AnyObject] 

Любой помощь, чтобы исправить это оценили!

ответ

1

Компилятор, похоже, более ограничивает тип.

Результат jsonResult["channels"] - AnyObject. Вы должны помочь компилятору, проверив значение для массива.

if let channels = jsonResult["channels"] as? [AnyObject], channel = channels[0] as? [String: AnyObject] { 
    // do something with channel 
} 

Или еще безопаснее, чтобы проверить также является ли массив не пуст

if let channels = jsonResult["channels"] as? [[String:AnyObject]] where !channels.isEmpty { 
    let channel = channels[0] // now the compiler knows it's [String:AnyObject] 
    // do something with channel 
} 
+0

Это работает как шарм. Спасибо за вашу помощь! – SwiftyJD

Смежные вопросы