NSMutableDictionary
NSMutableDictionary ist eine von NSDictionary abgeleitete Klasse, und wie auch schon NSMutableArray kann dieser Typ auch nach der Initialisierung um Daten erweitert werden. Ebenfalls ist es möglich, Wertepaare zu entfernen oder auszutauschen. Wie schon beim NSMutableArray ist die bei der Initialisierung angegebene Größe keinen Maximalwert, sondern dient lediglich der Optimierung des Arbeitsspeichers.
NSMutableDictionary ist eine von NSDictionary abgeleitete Klasse, und wie auch schon NSMutableArray kann dieser Typ auch nach der Initialisierung um Daten erweitert werden. Ebenfalls ist es möglich, Wertepaare zu entfernen oder auszutauschen. Wie schon beim NSMutableArray ist die bei der Initialisierung angegebene Größe keinen Maximalwert, sondern dient lediglich der Optimierung des Arbeitsspeichers.
| NSNumber
*n1 = [NSNumber numberWithInt:1203]; NSNumber *n2 = [NSNumber numberWithInt:3048]; NSNumber *n3 = [NSNumber numberWithInt:7645]; NSNumber *n4 = [NSNumber numberWithInt:4435]; NSNumber *n5 = [NSNumber numberWithInt:9298]; NSNumber *n6 = [NSNumber numberWithInt:7413]; NSMutableDictionary *account; umsatz = [NSMutableDictionary dictionaryWithCapacity:6]; [umsatz setObject:n1 forKey:@"Jan"]; [umsatz setObject:n2 forKey:@"Feb"]; [umsatz setObject:n3 forKey:@"Mrz"]; [umsatz setObject:n4 forKey:@"Apr"]; [umsatz setObject:n5 forKey:@"Mai"]; [umsatz setObject:n6 forKey:@"Jun"]; // Ausgabe NSNumber *aNumber; aNumber= [account objectForKey:@"Feb"]; NSLog( @"%@",aNumber); |
Um in einem NSMutableDictionary ein Objekt zu ersetzen, genügt es, in der setObject-Anweisung den Key eines schon vorhandenen Wertepaares zu benutzen. Das Objekt wird dann automatisch ersetzt. Ist dieser Schlüssel im Dictionary unbekannt wird ein neues Wertepaar angefügt.
Ebenfalls über den Key kann ein Objekt aus dem NSMutableDictionary entfernt werden.
Ebenfalls über den Key kann ein Objekt aus dem NSMutableDictionary entfernt werden.
| [umsatz removeObjectForKey:@"Apr"]; |
Die Anweisung funktioniert allerdings nur, wenn der angegebene Key im Dictionary vorhanden ist. Ist der Schlüssel unbekannt, hat die Anweisung keine Auswirkungen und provoziert auch keinen Programmfehler.