Рефакторинг делегата приложения - PullRequest
1 голос
/ 26 августа 2011

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

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

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

- (void)awakeFromNib:(NSNotification *)aNotification

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

- (void)awakeFromNib

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

0 голосов
/ 26 августа 2011

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

в .h файле:

TrackClass *track;

в .m файле:

track = [[Track alloc] init];

Что вы делали?

...