私はウェブサイトの NSMutableDictionary を持っています
[dictionaryOfSites setObject:@"http://www.example.com" forKey:@"Example.com"];
[dictionaryOfSites setObject:@"http://www.site1.com" forKey:@"Site1"];
[dictionaryOfSites setObject:@"http://www.apple.com" forKey:@"Apple"];
辞書を並べ替えることができないことは知っています。しかし、他の人が NSMutableArray をキーとして使用していて、配列をソートできることを読んだことがあります。
したがって、新しいアレイをセットアップすると
[[arrayKey alloc] initWithObjects:@"Example.com", @"Site1", @"Apple", nil];
次に、最初のスニペットを次のように変更します
[dictionaryOfSites setObject:@"http://www.example.com" forKey:[arrayForKey objectAtIndex:0]];
[dictionaryOfSites setObject:@"http://www.site1.com" forKey:[arrayForKey objectAtIndex:1]];
[dictionaryOfSites setObject:@"http://www.apple.com" forKey:[arrayForKey objectAtIndex:2]];
この単純な問題では、3 つのサイトがあったため、「ハード」コーディングしました。サイトのリストが 100 だった場合、どうすれば同じことを行うことができますか? サイトの順序はどのように維持されますか?
配列をソートすると [arrayKey sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
インデックス 2 はインデックス 0 になりませんか? インデックス 0 になると、dictionaryOfSites の URL のラベルが間違っていることがわかります。