如何将键(int)和值(int)对添加到NSDictionary对象?以及如何将它们作为int检索?
谢谢!
答案 0 :(得分:6)
字典键和值必须是对象引用(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]];
这有帮助吗?
答案 1 :(得分:5)
将其包裹在NSNumber
:
int intKey = 1;
int intValue = 2;
[myDict setObject:[NSNumber numberWithInt:intValue] forKey:[NSNumber numberWithInt:intKey]];
NSLog(@"key: %i, value: %i", intKey, [[myDict objectForKey:[NSNumber numberWithInt:intKey] intValue]);
编辑:您需要使用NSMutableDictionary
来设置值。 NSDictionary
在创建后无法修改。