У меня есть метод 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:» в сигнатуре метода, предупреждение исчезнет.
Почему это происходит? Конечно, наименование моего метода не должно влиять на тип возвращаемого значения ??
После еще небольшого исследования, изменив имя метода, используйте строчные буквы 'и Y', чтобы предупреждение не исчезло. Я очистил все цели, и восстановил, и предупреждение не показывало. Но он вернулся после очередной перекомпиляции. Одд.