Что такое владелец файла и первый ответчик в iPhone SDK – xCode?

Что такое владелец файла и первый ответчик в iPhone SDK – xCode?

Владелец файла – это экземпляр, объект времени выполнения, который владеет содержимым вашего nib и его точек / действий при загрузке ниба. Это может быть экземпляр любого classа, который вам нравится, – посмотрите на вкладку идентификатора палитры инструментов.

Владелец файла является основной ссылкой между вашим кодом приложения и содержимым файла nib.

Например, у вас есть подclass UIViewController с IBOutlet для UILabel. В построителе интерфейса владелец файла будет установлен в том же classе, что и ваш UIViewController. Когда ваш nib загружается во время выполнения, привязки выходов и действий, определенных в вашем nib, привязаны к экземпляру вашего controllerа представлений, поскольку ваш controller представления является владельцем.

Перья загружаются с использованием:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil]; 

Параметр владельца особенно важен. Это экземпляр среды выполнения classа, который владеет содержимым (выходы, действия и объекты) загружаемого nib.

Надеюсь, это ясно. Чтобы увидеть это на работе, создайте новый проект iPhone с controllerом вида. Откройте файл Nib и взгляните на вкладку идентификации.

Первый ответчик – это просто первый объект в цепочке ответчиков, который может реагировать на события. Цепочка ответчика представляет собой коллекцию времени выполнения (или, точнее, иерархию) объектов, которые могут реагировать на событие. Например, рассмотрим, что у вас есть окно с представлением, и на этом представлении есть текстовое поле.

Если это текстовое поле имеет фокус, оно известно как первый ответчик в цепочке. Поэтому, если вы отправляете сообщение первому ответчику, оно сначала будет отправлено в текстовое поле. Если текстовое поле не может обработать сообщение, оно будет отправлено следующему ответчику . И следующий. И следующий, пока вы не дойдете до конца цепи ответчика, или что-то поглотило это событие (iirc).

Целесообразная цепочка стоит прочитать о документации, касающейся яблока, для получения дополнительной информации.

  • Блок UIButton эквивалентен addTarget: действие: forControlEvents: метод?
  • didReceiveRemoteNotification когда в фоновом режиме
  • Сохранение заказа смарт-плейлистов на iPhone
  • Как предотвратить запуск моего приложения в фоновом режиме на iPhone
  • iPhone: UITableView CellAccessory Checkmark
  • Получение видимого прямоугольника содержимого UIScrollView
  • Как проверить локальный Wi-Fi (не только сотовую связь) с помощью iPhone SDK?
  • создать подclass uibutton
  • как изменить название проекта Xcode
  • Создайте папку внутри папки документов в приложениях iOS
  • Получите данные Exif от UIImage - UIImagePickerController
  • Interesting Posts

    Включить вкладку «Безопасность» в свойствах папки проводника для домашней версии Windows XP

    Вернуть Windows 7 Photo Viewer в Windows 8?

    Где GOTO: EOF возвращается?

    Как перечислить файлы на основе соответствия только части имени файла?

    Самый простой способ удалить двунаправленные рекурсивные отношения?

    Основной метод не найден, даже если я его объявил

    Android – Кэш Bitmap занимает много памяти

    Я создал диск восстановления из раздела восстановления правильно?

    Как я могу изменить порт IIS Express для сайта

    PANIC: Разбитый путь системы AVD. Проверьте значение ANDROID_SDK_ROOT

    Только использование @JsonIgnore во время сериализации, но не десериализация

    Записи classа Eclipse, используемые только для тестов

    Поиск изображений Google говорит, что api больше недоступен

    Объявление переменных внутри циклов, хорошей практики или плохой практики?

    Как использовать 32-разрядные собственные библиотеки на 64-битном Android-устройстве

    Давайте будем гением компьютера.