NSTextField нераспознанные селекторы - PullRequest
0 голосов
/ 29 октября 2011

У меня есть текстовая метка, объявленная как:

@property (weak) IBOutlet NSTextField *label;

Я установил некоторые атрибуты в методе awakeFromNib:

- (void)awakeFromNib {
    [label setStringValue:@"hello"];
}

И все это работает.Но когда я пытаюсь изменить строковое значение (также с setStringValue) где-то еще в коде, я получаю эту ошибку:

- [__NSCFString setStringValue:]: нераспознанный селектор, отправленный экземпляру 0x105703040

Я заметил, что он ведет себя так же и с такими методами, как isHidden, setHidden Есть идеи, почему?

Ответы [ 2 ]

1 голос
/ 30 октября 2011

Вам необходимо научиться читать сообщения об ошибках.Вам говорят, что setStringValue: было «отправлено» объекту NSString / CFString.Это означает, что указатель в «метке» не является NSTextField, а является NSString.Скорее всего, в какой-то предыдущий момент в вашей программе вы назначили NSString на «label», когда вы намеревались сделать setStringValue или что-то подобное.Или же, поскольку «метка» не сохраняется, хранилище было восстановлено и затем использовано для строки NSString.

0 голосов
/ 30 октября 2011

Сообщение об ошибке сообщает, что вы отправляете сообщение setStringValue: объекту NSString, а не объекту NSTextField.Ваш awakeFromNib код в порядке, но ваш код для изменения строки метки неверен.

...