2011-01-02 7 views
1

Ich bin ein NSMutableDictonary erstellen:NSMutableDictonary von NSString Nullwert bekommen

dict = [[NSMutableDictionary alloc] init]; 

Und nach String Elemente hinzufügen:

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

Ich habe die Werte, wenn ich versuche, direkt danach zuzugreifen. Aber wenn ich versuche, irgendwann darauf zuzugreifen, habe ich null Wert.

Ich glaube es ist, weil diese Zeichenketten Autoreleased ist. Dann ist die Frage: Was ist der richtige Weg, dies zu tun?

+5

Wir müssen mehr Code sehen, da das, was Sie eingefügt haben, korrekt ist. Ist eine Instanzvariable "dict"? Schicken Sie es '-removeObjectForKey:' irgendwo? Außerdem werden Literalzeichenfolgen nicht automatisch freigegeben, und selbst wenn sie vorhanden sind, besitzen Cocoa-Auflistungen die hinzugefügten Objekte und die Schlüssel werden immer kopiert. –

+0

Ich stimme mit Bavorious überein. Eine Stimme für ihn. –

Antwort

0

Wirklich leid Jungs! Das Beispiel, das ich hier eingefügt habe, funktioniert gut! Das Problem war, dass der Neuling den Code debuggte, mich, einen Fehler macht, wo das Problem liegt. Ich habe null Wert angegeben und glaubte, dass das nicht der Fall war.

Vielen Dank.