Как предложено в предложении автозаполнения Xcode, используя приведенный ниже код в цели c, возникла ошибка времени выполнения,
for (int i = 1; i <= 10; i++)
{
NSLog(@"%d", i);
NSDictionary *dic = [[NSDictionary alloc] init];
[dic setValue:@"Alex" forKey:@"name"];
[dic setValue:@"45" forKey:@"Age"];
}
2020-03-29 21: 55: 34.588607 + 0600 Test [5299: 15492347 ] *** Завершение работы приложения из-за необработанного исключения «NSUnknownKeyException», причина: «[<<__ NSDictionary0 0x7fff806228e0> setValue: forUndefinedKey:]: этот класс не соответствует значению ключа, кодирующему имя ключа. '
Чего мне не хватает?
Обновление
Поскольку matt прокомментировал NSDictionary
не является изменяемым, то
Почему метод setValue
доступен для NSDictionary в предложении автозаполнения на XCode?
Почему методы, которые изменяют неизменяемые коллекции, не могут быть обнаружены во время компиляции, а во время выполнения?