Как мне перебрать словарь, чтобы увидеть его значения? - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь освоить цель-c и как использовать словари.Я попробовал маленький пример, но он продолжает падать для меня.Вот мой словарь и попытка зацикливания ключей словаря.

NSDictionary *dictionary = @{
                             @"anObject" : @"@hej",
                             @"helloString" : @"Hello, World!",
                             @"magicNumber" : @42,
                             @"aValue" : @33
                             };

for(NSString *key in dictionary) {
    NSLog(@"key:%@", key);
    NSLog(@"value:%@", [[dictionary valueForKey:key] string]);
}

Сбой при Thread 1: signal SIGABRT

Завершение приложения из-за необработанного исключения> 'NSInvalidArgumentException', причина: '- [__ NSCFConstantString string]:> нераспознанный селектор, отправленный экземпляру 0x1078590a8'

Здесь, на обратной строке:

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil,     
        NSStringFromClass([AppDelegate class]));
    }

1 Ответ

1 голос
/ 23 сентября 2019

Обновлено

NSLog() вызовет метод [NSObject description] для любого объекта, который вы передаете, так что это будет хорошо работать для вас:

NSLog(@"value:%@", dictionary[key]);

Не существует метода string, поэтому вы получаете исключение нераспознанный селектор .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...