Рефакторинг делегата приложения

Я новичок в Obj-C и Xcode 4, и в настоящее время я прохожу "Ваше первое приложение для Mac" на веб-сайте Mac Dev. Мне удалось пройти через основную часть, но я борюсь за раздел "Рефакторинг делегата приложения".

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

К сожалению, экземпляр класса track никогда не создается, и поэтому программа не работает, так как функция awakeFromNib никогда не вызывается. Я попытался поместить его как в файл делегата приложения, так и в новый класс контроллера.

Куда я иду не так???

2 ответа

Вы должны либо создать экземпляр вашего нового класса в IB, либо создать его программно в своем объекте AppDelegate (обычно в init или awakeFromNib). У вас должен быть указатель на этот объект в вашем AppDelegate. Если вы создаете новый объект в IB, вы подключаете его к указателю Track* в IB. Если вы делаете это в коде, это что-то вроде:

в.h файле:

TrackClass *track;

в.m файле:

track = [[Track alloc] init];

Что ты сделал?

У меня была та же проблема, когда я пробовал учебник, и обнаружил, что проблема была в моей реализации awakeFromNib

Неправильный код:

- (void)awakeFromNib:(NSNotification *)aNotification

Правильный код

- (void)awakeFromNib

Не должно быть никаких аргументов в пользу реализации awakeFromNib,

Другие вопросы по тегам