メインディクショナリのキーを格納するための補助ディクショナリを作成するコードを作成しました。だから私は値の鍵を手に入れることができます。それらを一意にするために、2つ以上の同一の値の場合、ディクショナリオブジェクトのIDをキーとして保存し、それらのキーをオブジェクトとして保存します。
ただし、2つのオブジェクトの値が同じ場合、それらのIDも同じになります。したがって、2つの異なるキーを取得できません。
NSDictionary *myDict = @{@"key1": @"obj1", @"key2": @"obj1", @"key3" : @"x"};
NSLog(@"%p",[myDict objectForKey:@"key1"]);
NSLog(@"%p",[myDict objectForKey:@"key2"]);
出力:
2013-03-06 02:03:28.740 DictTest[2855:303] 0x1000028e8
2013-03-06 02:03:28.741 DictTest[2855:303] 0x1000028e8
どうすればこれを防ぐことができますか?