Не удалось подключить действие к NSViewController

У меня глупая проблема с Xcode. Иногда — и я не знаю почему, потому что я всегда следую одной и той же процедуре — если я создаю IBAction из nib-файла моего NSViewController в .h-файл этого NSViewController, я получаю сообщение об ошибке «Не удалось подключить действие buttonCancelClicked: для цели класса NSViewController".

Это сумасшествие, потому что владельцем файла установлен .h-файл, и даже если я нажму кнопку, вызывается IBAction. Только Xcode выдает эту ошибку.

Это ошибка Xcode? Могу ли я что-то сделать, чтобы убрать эту ошибку?


person Lupurus    schedule 06.03.2014    source источник


Ответы (2)


NSViewController служит для управления NSViews. Сначала отсоедините кнопку. Объявите действие в (может быть, другом) классе, сохраните и снова прочитайте заголовок в ИБ и подключите его в ИБ к кнопке. Я так делаю и никогда не было проблем.

person macrene    schedule 06.03.2014
comment
Спасибо, это работает (хотя я не понимаю, почему)! Я создал отдельный NSObject и установил его в класс ViewController. - person Lupurus; 09.03.2014
comment
Сотрудничество между XCode и IB не всегда надежно. Я совершенно уверен, что проблема возникла не по вашей вине. - person macrene; 09.03.2014

Другая причина, по которой будет генерироваться это сообщение, заключается в том, что идентификатор класса не указывает на правильный проект. Я скопировал класс из одного проекта в другой.

Мой начальный идентификатор класса выглядел следующим образом:

введите здесь описание изображения

Это сгенерировало консольные сообщения, как показано в исходном вопросе.

Затем я установил класс следующим образом:

введите здесь описание изображения

Это решило проблему.

person ICL1901    schedule 06.03.2020