Ключ и значение словаря должны быть ссылкой на объект (id
), чтобы вы не могли использовать целое число в качестве ключа. Вместо этого вы должны обернуть свои целые числа в NSNumber
:
[NSNumber numberWithInt:5]
Затем вы можете инициализировать NSDictionary
, используя один из initWithObjects
инициализаторов. Я выбрал инициализатор initWithObjectsAsKeys:
, который принимает ключ / значения в формате значение, ключ, значение, ключ .. nil.
NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:[NSNumber numberWithInt:15], [NSNumber numberWithInt:5], nil];
Чтобы получить доступ к значению, вам нужно сделать то же самое:
NSLog(@"%@", [dict objectForKey:[NSNumber numberWithInt:5]]);
РЕДАКТИРОВАТЬ : Судя по вашему комментарию, вам следует использовать NSMutableDictionary, а не NSDictionary. То же самое относится и к переносу целых чисел, но вы захотите использовать метод setObject: forKey:
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setObject:[NSNumber numberWithInt:15] forKey:[NSNumber numberWithInt:5]];
Это помогает?