私が理解しているように、Objective-Cではオブジェクトを辞書に入れることしかできません。したがって、辞書を作成する場合は、すべてのオブジェクトが必要になります。これは、自分のintをNSNumberとして入力する必要があることを意味します。
すっごく...
NSNumber *testNum = [NSNumber numberWithInt:varMoney];
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setObject:@"OMG, Object 1!!!!" forKey:@"1"];
[dictionary setObject:@"Number two!" forKey:@"2"];
[dictionary setObject:testNum forKey:@"3"];
NSNumber *retrieved = [dictionary objectForKey:@"3"];
int newVarMoney = [retrieved intValue];
ここで、varMoneyは以前に宣言されたintです。私の質問は、「int」をNSNumberに入れるよりも、辞書に保存する方が良い方法はありますか?
ありがとう!
編集:04/25/13
この質問をしてから久しぶりです。将来それを見つけた人のために、Apple LLVMコンパイラ4.0を使用してこれを行う簡単な方法があります。これは、Xcodeで少しデフォルトになっています。(アーク)
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@1337 forKey:@"1"];
これで、@1337構文を使用してNSNumberオブジェクトをすばやく作成できます。変数で動作するので、上記は次のようになります。
[dictionary setObject:@(varMoney) forKey:@"3"];
また
dictionary[@"mykey"] = @1337;
よりシンプル。