Подтвердить что ты не робот

Как удалить объект из NSDictionary

Привет, у меня есть NSdictionary, в котором я добавляю массив с ключевыми "странами". Теперь я беру значение этого словаря в массив и сортирую массив в alpahbatical порядке. Теперь я хочу добавить этот массив в свой словарь (то есть я хочу обновить словарь с помощью нового отсортированного массива и удалить из него старый массив)........ как это сделать

Мой код выглядит следующим образом

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

Здесь я хочу удалить страныToLiveInArray и заменить его sortedArray с тем же ключевым значением, то есть странами Спасибо заранее.

4b9b3361

Ответ 1

Сначала вам нужно использовать NSMutableDictionary и поместить этот код:

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

Ответ 2

Прежде всего сделайте свой NSDictionary в NSMutableDictionary, а затем напишите следующую строку кода

[countriesToLiveInDict removeObjectForKey:@"Countries"];

Это решит проблему.

Ответ 3

NSDictionary ничего не может удалить, используйте NSMutableDictionary, например:

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

Ответ 4

для Swift 3 как ответил @MathieuF Сначала вам нужно использовать NSMutableDictionary и поместить этот код:

countriesToLiveInDict.removeObject(forKey: "Countries")

Я отправляю свой ответ, поскольку я искал тот же вопрос и вдохновляюсь @MathieuF