Концепция владельца файла, первого ответчика и делегата приложения в iPhone

Возможный дубликат:
Конструктор и делегаты iPhone

Какова связь между этими тремя компонентами в мире Objective C/iPhone? Я обнаружил, что делегат приложения имеет некоторую связь с пользовательским интерфейсом и переменную в коде. Он соответствует переменной и связанному с ней объекту пользовательского интерфейса в представлении. Но я обнаружил, что владелец файла имеет выход, называемый делегатом, который связан с делегатом приложения, какова их связь. Кроме того, первый ответчик, кажется, только что получил некоторый эффект. Что происходит между ними?

Ответ 1

Один за раз:

  • Владелец файла: это объект, который загружает xib файл. В полностью общем смысле это объект, переданный как параметр владельца в -[NSBundle loadNibNamed:owner:]. При работе с наконечником для подкласса UIViewController это обычно является подклассом UIViewController. Дальнейшее чтение: Руководство по программированию ресурсов: файлы Nib
  • Первый ответчик: это представление, которое сначала получает нецелевые события (т.е. отправленные с целью nil). Полезная часть этого состоит в том, что она связана с идеей цепи ответчиков, которая является механизмом, с помощью которого вещи, находящиеся выше в иерархии представлений, могут захватывать необработанные и обрабатывать их. Эта концепция возникла на Mac и особенно полезна для реализации чего-то вроде пункта меню "Копировать". Первый ответчик является объектом пункта меню "Копировать", что означает, что выбранное текстовое поле получает возможность сначала обработать событие копирования, затем его просмотр и т.д. Дальнейшее чтение: Руководство по программированию приложений iPhone: обработка событий
  • Application Delegate: это просто делегат приложения UIApplication. Обычно он получает сообщения общего статуса о приложении, например, когда он начинается, заканчивается и что нет. Это хорошее место, чтобы начать вещание, которое должно произойти, когда ваше приложение запускается или выключается. Дальнейшее чтение: Cocoa Руководство по основам: делегаты и источники данных

Надеюсь, что это поможет.