Ich versuche, NSDictionary
so zu benutzen, dass ich NSArrays
darin speichern kann, aber ich kann es nicht einmal für Strings arbeiten lassen.
Für den obigen Code erhalte ich die Fehlermeldung
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSDictionaryI 0x8b86540> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key Test.'
Warum sollte ein NSString *
nicht als Schlüssel funktionieren? Genau das verlangt die Methode.
NSDictionary
ist unveränderlich, Sie können also keinen Wert darauf setzen.
Verwende NSMutableDictionary
Ich schließe @ Martins Kommentar hier ein
Zusätzlich: Verwenden Sie setObject:forKey
, um Wörterbuchwerte festzulegen. setValue:forKey
wird nur für "Schlüsselwertcodierung" benötigt . setObject:forKey
würde auch ein besseres error message
ergeben, wenn es auf ein unveränderliches Wörterbuch angewendet wird.
Tags und Links objective-c ios nsstring nsdictionary