wake-up-neo.net

so entfernen Sie ein Objekt aus NSDictionary

Hallo, ich habe ein NS-Wörterbuch, in dem ich ein Array mit Schlüssel "Ländern" hinzufüge. Jetzt nehme ich den Wert dieses Wörterbuchs in ein Array und sortiere das Array in alpahbatischer Reihenfolge. Jetzt möchte ich dieses Array in mein Wörterbuch einfügen (dh ich möchte mein Wörterbuch mit einem neuen sortierten Array aktualisieren und das alte Array daraus entfernen). ....... Wie macht man das 

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 das countriesToLiveInArray entfernen und durch sortiertesArray mit demselben Schlüsselwert, d.

27
V.V

Zuerst müssen Sie eine NSMutableDictionary verwenden und diesen Code eingeben:

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

Machen Sie zunächst Ihr NSDictionary zu NSMutableDictionary und schreiben Sie dann die folgende Codezeile

[countriesToLiveInDict removeObjectForKey:@"Countries"];

Dies wird Ihr Problem definitiv lösen.

5

NSDictionary kann nichts entfernen, bitte verwenden Sie NSMutableDictionary wie folgt:

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

für Swift 3 als @MathieuF darauf geantwortet hat Zuerst müssen Sie ein NSMutableDictionary verwenden und diesen Code eingeben:

countriesToLiveInDict.removeObject(forKey: "Countries")

ich poste meine Antwort, da ich nach derselben Frage suchte und sich von @MathieuF inspirieren ließ 

0
Amr Angry