2015-11-14 2 views
2

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

Я изменил раздел основного интерфейса на мой проект с MainMenu на Login, и когда я запустил приложение, действительно, сначала запускается новое окно входа в систему.

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

Failed to connect (userNameTextField) outlet from (NSApplication) to (NSTextField): missing setter or instance variable 

Что я делаю неправильно?

ответ

1

Я столкнулся с тем же сообщением об ошибке. Решение в моем случае может быть не применимо напрямую, но, возможно, оно каким-то образом поможет.

Я создал контроллер отображения TestWindow со связанным xib и настроил несколько реферирующих точек. Затем я программно создал окно с NSWindowController* window = [[NSWindowController alloc] initWithWindowNibName:@"TestWindow"]; и получил такое же сообщение об ошибке. Я, наконец, понял, что должен написать [TestWindow alloc] вместо [NSWindowController alloc], и это исправило все. Это кажется настолько очевидным в ретроспективе, но я все еще привыкаю к ​​тому, что делает Interface Builder и не делает для вас автоматически.

Ваше сообщение об ошибке говорит, что он не может подключиться от (NSApplication) вместо (YourAppClassName), поэтому я подозреваю, что класс, который вы определяете своими точками, на самом деле не создается.

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