Должен ли я писать большую часть своего кода в контроллере или делегате? - PullRequest
0 голосов
/ 03 ноября 2011

Я использовал Xcode 4.1 и после обновления до 4.2 все стало устаревать. Я использую множество примеров из разных книг, таких как «Руководства ранчо« Большой ботаник »», в которых не используются раскадровки, а приложение для Windows было изменено на «Пустое».

С этими новыми изменениями я чувствую, что книги и учебники, которые я использовал для начала, устарели. Во многих из этих примеров они говорят записать методы и переменные в заголовочные файлы делегата для 4.1. С новым 4.2 Xcode, есть AppDelegate и ViewController. Должен ли я по-прежнему писать методы и члены класса в AppDelegate или теперь я должен писать их в файле Controller?

Я в замешательстве. Разве Apple хочет, чтобы мы создали наш контроллер и сослались на него через делегата?

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Когда ваше приложение запускается, оно создает экземпляр UIApplication. Вы хотите знать то, что знает только объект UIApplication (мы просто переключились на фон? Мы только что открылись?), Поэтому вы используете шаблон делегата, чтобы получить его. Когда вы начинаете новый проект, Apple запускает вас уже назначенным делегатом приложения. Вы можете открыть MainWindow.nib и осмотреть своего делегата приложения, чтобы увидеть, как он подключен к вашему экземпляру UIApplication (в данном случае - к владельцу файла).

Как правило, вы хотите поместить туда только код, связанный с основными функциями вашего приложения. Запуск, выход, переход в фоновый режим и переход на передний план - это когда вы будете делать что-то в App Delegate.

Большинство всего остального должно идти в ваших контроллерах представления или модельных объектах. Поскольку «делегат» - это просто шаблон проектирования, ваши контроллеры представлений могут быть делегатами других объектов. Например, если вы представите UITableView, вы назначите контроллер представления в качестве его делегата для ответа на такие события, как выбор и прокрутка. В вашем приложении много делегатов, но есть только один делегат приложения.

0 голосов
/ 03 ноября 2011

AppDelegate действительно просто "пусковая установка" для вашего приложения. Т.е. вам вообще не нужно писать много кода.

Если вы заинтересованы в «настройке» кода, сделайте это в вашем контроллере представления под viewDidLoad.

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