您好我有一个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);
这里我想删除countriesToLiveInArray并将其替换为具有相同键值的sortedArray,即国家/地区 提前谢谢..
答案 0 :(得分:65)
首先,您需要使用NSMutableDictionary
并输入以下代码:
[countriesToLiveInDict removeObjectForKey:@"Countries"];
[countriesToLiveInDict setObject:sortedArray forKey:@"Countries"];
答案 1 :(得分:5)
首先使你的NSDictionary成为NSMutableDictionary&然后编写以下代码行
[countriesToLiveInDict removeObjectForKey:@"Countries"];
这肯定会解决您的问题。
答案 2 :(得分:1)
NSDictionary
无法移除任何内容,请使用NSMutableDictionary
,如下所示:
NSMutableDictionary *countriesToLiveInDict = [NSMutableDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];
答案 3 :(得分:0)
对于Swift 3 正如@MathieuF回答的那样 首先,您需要使用NSMutableDictionary并输入以下代码:
Register-ELB2Target : Cannot bind parameter 'Target'. Cannot convert the "i-redacted" value of type "System.String" to type
"Amazon.ElasticLoadBalancingV2.Model.TargetDescription".
我发布我的答案,因为我正在寻找相同的问题并受到@MathieuF的启发