[NSNumber numberWithInt:42]
orを使用@(42)
して、NSDictionary に追加する前に int を NSNumber に変換します。
int intValue = 42;
NSNumber *numberValue = [NSNumber numberWithInt:intValue];
NSDictionary *dict = @{ @"integer" : numberValue };
NSDictionary から値を取得するとき、NSNumber から int に戻すにはどうすればよいですか?
NSNumber *number = dict[@"integer"];
int *intNumber = // ...?
このようにすると、キャストが必要であるという例外がスローされます。
int number = (int)dict[@"integer"];