こんにちは私はキー「国」で配列を追加しているNSdictionaryを持っています。今、私はこの辞書の値を配列に入れ、配列をアルファベット順にソートします。今、この配列を辞書に追加します(つまり、新しいソートされた配列で辞書を更新し、古い配列を削除します)。 ....... これを行う方法
私のコードは次のとおりです
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に置き換えます。つまり、Countries Thanks in ..
最初にNSMutableDictionary
を使用して、次のコードを配置する必要があります。
[countriesToLiveInDict removeObjectForKey:@"Countries"];
[countriesToLiveInDict setObject:sortedArray forKey:@"Countries"];
まず、NSDictionaryをNSMutableDictionaryにしてから、次のコード行を記述します
[countriesToLiveInDict removeObjectForKey:@"Countries"];
これは間違いなくあなたの問題を解決します。
NSDictionary
は何も削除できません。次のようにNSMutableDictionary
を使用してください。
NSMutableDictionary *countriesToLiveInDict = [NSMutableDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];
for Swift 3 @MathieuFが答えたので、最初にNSMutableDictionaryを使用してこのコードを配置する必要があります。
countriesToLiveInDict.removeObject(forKey: "Countries")
私は同じ質問を探していたので答えを投稿し、@ MathieuFに触発されます