Обычно вы должны подключать вещи к делегату приложения, только если они:
- Были созданы из того же файла NIB, что и делегат приложения (т.е. статические элементы пользовательского интерфейса в интерфейсах с одним окном)
- Связаны с обработкой событий уровня приложения, которая проходит через делегат приложения (как пункт меню в окне настроек)
Для всего остального вы должны создать синглтон, который управляет доступом к ним.
Джейсон Коко предложил маршрутизацию через контроллер приложений. В моих программах я обычно избегаю этого, так как считаю, что это накладывает слишком большую ответственность на верхний уровень - я думаю, что вещи должны самоуправляться там, где это возможно, и что управление на более высоком уровне следует использовать только тогда, когда существует потребность в координации между коллегами. модули уровня.
Я не собираюсь ссылаться на свой собственный блог, но если вы запустите Google me и singletons, вы, вероятно, найдете пост, который я написал, более подробно.