Необязательная привязка (String: AnyObject) к [String]

У меня есть объект / словарь JSON, из которого я получил AFNetworking и я хочу условно развернуть ключ в массив строк.

var person: [String : AnyObject] = ...

if let interests = person["interests"] as [String]{
   // Do something
}

Я получаю следующее сообщение об ошибке: (String : AnyObject) is not convertible to [String], Я не думаю, что могу распечатать person в [String : Any] потому что это выходит как [String : AnyObject] от AFNetworking фреймворк. Любые идеи были бы хорошы.

1 ответ

Решение

Обновите свой Xcode. Вы используете старую версию. До Xcode 6.1, String не считался типом объекта: вам пришлось использовать NSString вместо:

if let interests = person["interests"] as? [NSString] {

Apple исправила эту проблему, так что теперь она работает с Xcode 6.1:

if let interests = person["interests"] as? [String] {

Поскольку Swift быстро развивается, вам рекомендуется быть в курсе последней выпущенной версии XCode, которая на момент написания этой статьи была XCode 6.1.1.

Другие вопросы по тегам