Рефакторинг делегата приложения
Я новичок в 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
,