web-dev-qa-db-ja.com

NSMutableDictionaryに値を設定するために「キー」として整数値を使用するにはどうすればよいですか?

NSMutableDictionaryで整数値を「キー」として使用して浮動小数点値を設定するにはどうすればよいですか?

42
Ratan

NSDictionarysはオブジェクトを処理するためだけに設計されているため、これを行う簡単な方法は、整数とfloatを NSNumber オブジェクトにラップすることです。例えば:

NSMutableDictionary *testDictionary = [[NSMutableDictionary alloc] init];
[testDictionary setObject:[NSNumber numberWithFloat:1.23f]
                   forKey:[NSNumber numberWithInt:1]];
NSLog(@"Test dictionary: %@", testDictionary);

[testDictionary release];

関連する値を抽出するには、NSNumberクラスから適切なintValue、floatValueなどのメソッドを使用するだけです。

81
John Parker

NSMapTable を使用できます。整数キーおよび/または値を直接サポートしているためです。 NSNumberでボックス化/ボックス化解除する必要はありませんが、セットアップと使用が少し難しくなります。

8
bbum

オブジェクトである必要があるため、代わりに[NSNumber numberWithInt:myInteger]を使用してください。

次に、-integerValueで取得します

2
sidyll