Cómo eliminar el object de NSDictionary

Hola, tengo un NSdictionary en el que estoy agregando una matriz con "países" key. Ahora tomo el valor de este dictionary en una matriz y ordero la matriz en order alpahbático. Ahora quiero agregar esta matriz en mi dictionary (es decir, quiero actualizar mi dictionary con una nueva matriz orderada y eliminar la matriz anterior de ella). ……. como hacer esto

Mi código es el siguiente

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); 

Aquí quiero eliminar the countriesToLiveInArray y replacelo con sortedArray con el mismo valor key, es decir, los países gracias de antemano …

Primero necesitas usar un NSMutableDictionary y poner este código:

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

En primer lugar, haga que su NSDictionary sea NSMutableDictionary y luego escriba la siguiente línea de código

 [countriesToLiveInDict removeObjectForKey:@"Countries"]; 

Esto definitivamente resolverá tu problema.

NSDictionary no puede eliminar nada, usa NSMutableDictionary , así:

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

para Swift 3 ya que @MathieuF lo respondió Primero necesitas usar un NSMutableDictionary y poner este código:

 countriesToLiveInDict.removeObject(forKey: "Countries") 

publiqué mi respuesta ya que busqué la misma pregunta y me inspiré en @MathieuF