2013-11-19 4 views
0

, когда я пытаюсь создать IBOutlet или IBAction, связав мой интерфейс с файлом заголовка, я не могу его создать.Невозможно связать IBaction или IBOutlet

Да, это МОЖЕТ быть дубликатом, но я не нашел свой ответ еще ни на одном другом посту!

Спасибо :)

@property (assign) IBOutlet NSWindow *window; 
- (IBAction)calculateClicked:(id)sender; 
@property (weak) IBOutlet NSTextField *ATextField; 
@property (weak) IBOutlet NSTextField *BTextField; 
@property (weak) IBOutlet NSTextField *CTextField; 
+0

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

+0

@GuyKogus сделаю !! – ANON

+0

@GuyKogus вот мы идем – ANON

ответ

0

Я видел Xcode иногда делают это (ошибка). Закрытие/повторное открытие Xcode исправило это для меня раньше.

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

+0

не работал для меня :( – ANON

2

Я не уверен, какой объект вы хотели бы добавить в свои торговые точки/действия, но можно было бы сделать вывод о наличии ссылки window, которую вы пытаетесь добавить к своему делегату приложения. В этом случае вам просто нужно, чтобы убедиться, что ваше приложение делегат появится в списке объектов, и что вы указали базовый класс для этого приложения делегата:

app delegate

Если, однако, вы были используя некоторый пользовательский объект контроллера, вы перетащите общий объект из библиотеки в список объектов NIB. Затем указать пользовательский класс контроллера для этого объекта (MyController в моем примере):

Add controller to NIB

Сделав это, когда вы перетащите точки/действия из окна на помощник редактора, в дополнении к приложению делегату , ваши пользовательские интерфейсы/файлы реализации объекта контроллера будут параметрами, которые вы можете использовать.


Моим первоначальным ответом был iOS-ориентированный ответ. Приведенное выше должно описывать эквивалент какао. Я сохраню этот оригинальный ответ здесь для справки.

Оригинальный ответ:

В Interface Builder, убедитесь, чтобы указать базовый класс для объекта вы соединяющие выходы к. Если вы размещаете эти выходы в контроллере просмотра, убедитесь, что у вашей сцены раскадровки определен класс контроллера вида. И это немного легче, если ваш помощник редактора установлен в «автоматический»:

storyboard

выше снимок экрана имеет значение, если вы используете раскадровки. При использовании крупка, идея та же, но вы должны убедиться, что вы установили владельца файла в СИБ:

NIB

Если IBOutlet ссылки в UIView подкласса, то аналогично должны указать базовый класс для просмотра вашей сцены сценарной сцены (или представления NIB).

+0

спасибо, но я не использую раскадровку, я использую стандартный проект – ANON

+0

Что бы я его установил? Никогда не приходилось делать это раньше ... – ANON

+0

Он был установлен автоматически. Я просто не могу добавить ссылку, это ошибка? – ANON

Смежные вопросы