Тип аргумента 'AnyObject' не соответствует ожидаемому типу NSCopying
Я пытаюсь использовать NSDictionary
в Swift
и я сталкиваюсь с вышеупомянутой проблемой. У меня есть словарь следующего формата:
let xyz: NSMutableDictionary = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]]
Я хочу перебрать ключи в словаре и извлечь 6-й элемент массива. Я попробовал следующее; но не встретился ни с какой удачей
for keys in dictKeyMutableDict {
let xCentVal = xyz[keys as! [NSCopying]][6]
}
Я продолжаю получать ошибку индексации, и если я удаляю as! [NSCopying]
Я получаю вышеуказанную ошибку. Кто-нибудь знает, как бороться с таким случаем?
1 ответ
Удалить NSMutableDictionary
и сделать его изменчивым, сделав его переменным. Теперь вы можете удалить as! [NSCopying]
var xyz = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]]
for keys in dictKeyMutableDict {
let xCentVal = xyz[keys]![6]
}
Или лучше опционально разверните его:
for keys in dictKeyMutableDict {
if let v = xyz[keys] {
let xCentVal = v[6]
}
}