2011-01-02 4 views
1

Я создаю NSMutableDictonary:NSMutableDictonary из NSString получает нулевое значение

dict = [[NSMutableDictionary alloc] init]; 

И после добавления строки элементов:

[dict setObject:@"three" forKey:@"apple"]; 
[dict setObject:@"factory" forKey:@"car"]; 
[dict setObject:@"big bang" forKey:@"earth"]; 

Я получил значение, если я пытаюсь получить доступ сразу же после этого. Но если я попытаюсь получить доступ когда-нибудь после получения нулевого значения.

Я верю, это потому, что эти строки являются автореализованными. Тогда возникает вопрос: каков правильный способ сделать это?

+5

Нам нужно увидеть больше кода, так как то, что вы вставили, является правильным. Является ли 'dict' переменной экземпляра? Вы отправляете его? -removeObjectForKey: 'где-то? Кроме того, литеральные строки не автореализовываются, и даже если они были, коллекции Cocoa владеют добавленными к ним объектами, и ключи всегда копируются. –

+0

Я согласен с Bavarious. Один голос за него. –

ответ

0

Действительно извините, ребята! Пример, который я здесь сделал, отлично! Проблема заключалась в том, что новичок, отлаживающий код, меня, ошибался, где проблема. Я вводил нулевое значение, полагая, что это не так.

Спасибо всем.

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