Подключение делегата приложения к классу контроллера - PullRequest
3 голосов
/ 29 марта 2012

Я застрял на этом этапе разработки приложения XCode: https://developer.apple.com/library/mac/#documentation/General/Conceptual/Mac101/Articles/07_WhereNext.html

Что меня смущает, так это роль класса AppDelegate, который создается по умолчанию при создании проекта изначально в XCode 4Если я реализую собственный контроллер, давайте воспользуемся приведенной выше ссылкой и назовем ее TrackController.Сделать этот контроллер делегатом приложения?Кажется, что любой учебник, который я прочитал, не очень ясен в этом.

Итак, в AppDelegate, я создаю новый экземпляр класса контроллера здесь?И если так, тогда я подключу здесь розетку?Или я должен поменять владельца файла на класс контроллера?Если это так, то как это делается в XCode 4?

Не очень хорошо определенный вопрос, я знаю, но я уверен, что кто-то знает, о чем я говорю.

РЕДАКТИРОВАТЬ

На следующем снимке экрана показано, что я имею в виду.Синее поле теперь «Track Controller».Я показал класс AppDelegate в этом случае, чтобы прояснить ситуацию.Что я использую, AppDelegate.m или TrackController.m?Как это должно быть сделано?

enter image description here

РЕДАКТИРОВАТЬ 2

Возвращаясь к этому, я загрузил код вGitHub здесь , так как я до сих пор не понял, как все подключить.

Для повторного объяснения мне нужно выяснить, как AppDelegate и TrackController все связаны и взаимодействуют друг с другом.Эти концепции, как правило, являются новыми для меня, и я прочитал документацию Apple, но они мне не очень помогли.У меня даже были подробные обсуждения с экспертами, и я до сих пор не понимаю, как это должно работать.

Моя модель - Track, затем у меня есть TrackController и, конечно, AppDelegate.AppDelegate создает экземпляр TrackController, и я надеялся , что он сможет открыть свое окно.

Что я делаю не так?Надеюсь, эксперт может помочь мне!

1 Ответ

0 голосов
/ 29 марта 2012

Что он описывает, так это то, что делегат приложения должен сосредоточиться на обработке вызовов делегатов, отправляемых в приложение.

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

Я более знаком с тем, как этот процесс работает на iOS, чем на Mac, которым нужно беспокоиться об окнах, но для приложения iOS вы бы добавили код для вызова вашего начального контроллера представления из ApplicationDidFinishLaunching: WithOptions :. Оттуда контроллер представления вылетает, и самый простой способ просмотреть весь процесс - это запустить его с контроллера представления (именно так большинство учебных пособий обрабатывают его, фактически позволяя XCode обрабатывать тот факт, что делегат приложения создает этот контроллер представления ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...