Атрибут xcode: property 'title' 'copy' не соответствует свойству суперкласса 'UIViewController' - PullRequest
9 голосов
/ 11 января 2011

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

Это просто

IBOutlet UILabel *title;

и

@property(nonatomic, retain) IBOutlet UILabel *title;

, которые я сделал, который связан с моим файлом xib, связанным с UILabel, потому что я динамически меняю заголовок во времявремя выполнения.

Классы /../ taskViewController.h: 44: предупреждение: свойство 'title', атрибут 'copy' не соответствует суперклассу, свойство 'UIViewController'

Я не понимаю, что этосредства.Обычно я могу избавиться от предупреждающих сообщений.Но этот ... У меня нет ни малейшего понятия, что происходит.

Может кто-нибудь, пожалуйста, направьте меня и объясните, что здесь происходит.

Ответы [ 3 ]

15 голосов
/ 11 января 2011

Ваша проблема в том, что UIViewController уже определяет свойство title, и вы используете другой параметр управления памятью, чем он. Чтобы это исправить, измените название вашей собственности. пример: @property (nonatomic, copy) UILabel *titleLabel;. Если вы хотите, чтобы переменная экземпляра имела то же имя, и вы используете @synthesize, используйте @synthesize titleLabel=title;.

Кстати, почему вы копируете UILabel? Обычно вы используете retain, так что это один и тот же объект.

3 голосов
/ 11 января 2011

Это значит:

  • у вас есть подкласс UIViewController
  • содержит свойство с названием "title"
  • вы объявили свойство с атрибутом "copy"
  • родительский класс (UIViewController) уже имеет свойство «title» с конфликтующим определением (т.е. не «copy»)
0 голосов
/ 11 января 2011

Ну, я хочу просто уточнить, что title - это предопределенный объект в UIViewController, поэтому вы не можете создавать свои собственные объекты с тем же именем, изменять их с помощью чего-то другого и видеть, что это не приведет к этой ошибке.

...