2
对不起,如果问题不正确,我在Objective-C中很新。
我明白为什么这个代码抛出警告:“警告:传递‘initWithObjectsAndKeys:’的参数1,使指针从整数无”在具有可变参数的方法中投射警告
NSDictionary *dictNames =
[[NSDictionary alloc] initWithObjectsAndKeys:
3, @"",
4, @"",
5, @"",nil];
键和一个NSDictionary中的值必须是NSObject的,而不是基本类型,就像整数3,4和5一样。(必要时纠正我)。
但我不明白为什么这个警告消失了第一个键的唯一“正确键入”。
NSDictionary *dictNames =
[[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithInteger:3], @"",
4, @"",
5, @"",nil];
这是因为NSDictionary假定其他Keys的类型?这种初始化方式是否正确?
我看到...实际上,当我必须通过key来获取对象时,我必须使用objectForKey:(id)aKey来完成,然后Objects和Keys必须是(id)。 感谢您的回答:-) – rubdottocom 2010-03-27 12:45:46
第一个arg是一个Obj C对象吗?如果不是,声明的语法应该是什么? – 2011-09-09 06:20:07
@Saptarshi:不,例如' - (int)foo:(int)firstInt,...' – kennytm 2011-09-09 08:38:55