предупреждение: несовместимые типы Objective-C присваивают суперкласс подклассу

Предположим, что это допустимый суперкласс и действительный подкласс, т.е. классы работают.

следующая строка в конструкторе подкласса self = [super init];

выдает следующее предупреждение // предупреждение: несовместимые типы Objective-C, назначающие 'struct Animal *', ожидается 'struct Cat *'

Есть идеи, как это исправить и удалить предупреждение?

Ваше здоровье


person Keith John Hutchison    schedule 03.10.2010    source источник


Ответы (1)


Предоставляете ли вы собственный метод инициализации в своем суперклассе?

Проверьте тип возвращаемого значения этого метода. Это (Животное *)? Если да, измените это на (id).

Методы инициализации должны возвращать (id)

person Matthias Bauch    schedule 03.10.2010
comment
Спасибо fluchtpunkt. Изменено на (id) ‹developer.apple .com / library / mac / # documentation / cocoa / conceptual / - person Keith John Hutchison; 04.10.2010
comment
Большое спасибо за это, пятно =) - person jake_hetfield; 26.01.2012