Я використовую [NSNumber numberWithInt:42]
або @(42)
для перетворення int в NSNumber перед тим, як додати його до NSDictionary:
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"];