问题
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:
First you need to use a NSMutableDictionary and put this code :
[countriesToLiveInDict removeObjectForKey:@"Countries"];
[countriesToLiveInDict setObject:sortedArray forKey:@"Countries"];
回答2:
First of all make your NSDictionary to NSMutableDictionary & then write the following line of code
[countriesToLiveInDict removeObjectForKey:@"Countries"];
This will definitely resolve your issue.
回答3:
NSDictionary cannot remove anything, please use NSMutableDictionary, like this:
NSMutableDictionary *countriesToLiveInDict = [NSMutableDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];
回答4:
for Swift 3 as @MathieuF answered it First you need to use a NSMutableDictionary and put this code :
countriesToLiveInDict.removeObject(forKey: "Countries")
i post my answer as i was search for same question and get inspired by @MathieuF
来源:https://stackoverflow.com/questions/3879546/how-to-remove-object-from-nsdictionary