Приложение падает, когда я создаю NSDictionary с целым числом как Object
Всегда, когда я пытаюсь установить целое число как Объект в NSDictionary, программа вылетает без сообщения (ничего в консоли). Что не так в этом коде?
NSString *string = @"foo";
int number = 1;
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
string, @"bla1", number, @"bla2",nil];
Ответы
Ответ 1
Используйте NSNumber
вместо raw int
:
Современный Objective-C:
NSString *string = @"foo";
NSNumber *number = @1;
NSDictionary *params = @{@"bla1": string, @"bla2": number};
Старый стиль:
NSString *string = @"foo";
NSNumber *number = [NSNumber numberWithInt:1];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
string, @"bla1", number, @"bla2",nil];
Ответ 2
В словаре вы должны хранить объекты, а не первичные типы, такие как int, char и т.д.