【发布时间】:2009-07-16 17:24:06
【问题描述】:
我有一个init方法定义为:
- (id)initWithX:(float)inX AndY:(float)inY
{
if (self = [super init])
{
[self setX:inX andY:inY];
}
return self;
}
当我像这样使用这种方法时:
MyObject* myObject = [[MyObject alloc] initWithX:0.0 AndY:0.0];
我收到一条警告:“警告:从不同的 Objective-C 类型初始化”
但有趣的是,如果我在方法签名中将“AndY:”更改为“andY:”,警告就会消失。
为什么会发生这种情况?当然我的方法的命名不应该影响它的返回类型??
经过一番调查,使用小写“andY”更改方法名称并没有使警告消失。我清理了所有目标,然后重建,警告没有显示。但它在另一次重新编译后又回来了。奇怪。
【问题讨论】:
标签: objective-c