views:

76

answers:

2

Hi i am having a NSdictionary in which i am adding a array with key "countries ". Now i take the value of this dictionary into array and sort the array in alpahbatical order .Now i want to add this array into my Dictionary (that is i want to update my dictionary with new sorted array and remove the old array from it ).. how to do this

My code is as follows

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

Here i want to remove the countriesToLiveInArray and replace it with sortedArray with same key value i.e. Countries Thanks in advance..

+1  A: 

First you need to use a NSMutableDictionnary and put this code :

[countriesToLiveInDict removeObjectForKey:@"Countries"];
[countriesToLiveInDict setObject:sortedArray forKey:@"Countries"];
MathieuF
You don't need to remove the previous object for the key. -setObject:forKey: automatically releases the previous object, if called on a kety that already exists.
JeremyP
+2  A: 

Hi,

First of all make your NSDictionary to NSMutableDictionary & then write the following line of code

countriesToLiveInDict = [countriesToLiveInDict removeObjectForKey:@"Countries"];

This will definitely resolve your issue.

Atulkumar V. Jain