Що таке власник файлу та перший відповідач у iOS - Xcode?


Відповіді:


170

Власник файлу - це екземплярний об'єкт виконання, який володіє вмістом вашого перо та його розетками / діями під час завантаження перо. Це може бути екземпляр будь-якого вподобаного класу - подивіться на вкладку посвідчення палітри інструментів.

Власник файлу - це головний зв'язок між кодом вашої програми та вмістом файлу nib.

Наприклад, вважаємо, що у вас є підклас UIViewController з IBOutlet для UILabel. У конструкторі інтерфейсів власник файлу буде встановлений у той самий клас, що і ваш UIViewController. Коли ваш перо завантажується під час виконання, прив'язки розеток та дії, визначені у вашому перо, пов'язані з екземпляром вашого контролера перегляду, оскільки ваш контролер перегляду є власником.

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

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

Параметр власника особливо важливий. Це екземпляр середовища виконання класу, якому належить вміст (розетки, дії та об’єкти) завантажуваного перо.

Сподіваємось, це зрозуміло. Щоб побачити це на роботі, створіть абсолютно новий проект iPhone із контролером перегляду. Відкрийте файл Nib і подивіться на вкладку посвідчення особи.

Перший респондент - це просто перший об'єкт ланцюга респондентів, який може реагувати на події. Ланцюг відповідача - це колекція середовищ виконання (а точніше ієрархія) об'єктів, які можуть відповісти на подію. Наприклад, вважаємо, що у вас є вікно з видом, і на цьому поданні знаходиться текстове поле.

Якщо це текстове поле має фокус, воно відоме як перший респондент у ланцюжку. Отже, якщо ви надішлете повідомлення першому респонденту, воно спочатку буде надіслане у текстове поле. Якщо текстове поле не може обробити повідомлення, воно буде надіслане наступному відповідачу . І наступний. І наступного, поки ви не дійдете до кінця ланцюга респондентів або щось не спожило подію (iirc).

Ланцюжок відповідачів варто прочитати - для отримання додаткової інформації зверніться до документації Apple.


1
@dannywartnaby: детальний опис !! +1
Jayprakash Dubey

1
чудове пояснення!
TMв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.