34 Stimmen

wie man ein Objekt aus einem NSDictionary entfernt

Hallo, ich habe ein NSdictionary, in dem ich ein Array mit dem Schlüssel "Länder" hinzufüge. Jetzt nehme ich den Wert dieses Wörterbuchs in Array und sortiere das Array in alpahbatischer Reihenfolge. Jetzt möchte ich dieses Array in mein Wörterbuch hinzufügen (d.h. ich möchte mein Wörterbuch mit dem neuen sortierten Array aktualisieren und das alte Array daraus entfernen) ........ wie man das macht

Mein Code lautet wie folgt

NSArray *countriesToLiveInArray = [NSArray arrayWithObjects:@"Iceland", @"Greenland", @"Switzerland", @"Norway", @"New Zealand", @"Greece", @"Italy", @"Ireland", nil];
NSDictionary *countriesToLiveInDict = [NSDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

NSArray *tmpary = [countriesToLiveInDict valueForKey:@"Countries"];
NSLog(@"ary value is  %@",ary);
NSArray *sortedArray = [tmpary sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
NSLog(@"sortedArray is %@",sortedArray);

Hier möchte ich die countriesToLiveInArray zu entfernen und ersetzen Sie es mit sortedArray mit gleichen Schlüsselwert d.h. Länder Vielen Dank im Voraus..

73voto

MathieuF Punkte 3100

Zunächst müssen Sie eine NSMutableDictionary und geben Sie diesen Code ein:

[countriesToLiveInDict removeObjectForKey:@"Countries"];
[countriesToLiveInDict setObject:sortedArray forKey:@"Countries"];

6voto

Atulkumar V. Jain Punkte 5082

Machen Sie zunächst Ihr NSDictionary zu NSMutableDictionary und schreiben Sie dann die folgende Code-Zeile

[countriesToLiveInDict removeObjectForKey:@"Countries"];

Dies wird Ihr Problem definitiv lösen.

1voto

Donald Punkte 303

NSDictionary nichts entfernen können, verwenden Sie bitte NSMutableDictionary を、このように。

NSMutableDictionary *countriesToLiveInDict = [NSMutableDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

1voto

Amr Angry Punkte 3482

Für Swift 3 wie @MathieuF es beantwortet hat Zuerst müssen Sie ein NSMutableDictionary verwenden und diesen Code einfügen:

countriesToLiveInDict.removeObject(forKey: "Countries")

ich poste meine Antwort, weil ich nach derselben Frage gesucht habe und von @MathieuF inspiriert wurde

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X