Реалізація зворотних викликів у програмах Macintosh

Розробка додатків Macintosh використовує зворотні виклики, щоб дозволити Mac OS X виконувати код у вашій програмі для певних операцій. Якщо ви створюєте стандартну програму для Macintosh на основі вікна або документа, перший код, який виконуватиме OS X, міститься в одному з наступних методів зворотного виклику, які ви повинні створити для своєї програми, залежно від дизайну програми:

  • Програми на основі вікна: (void)applicationDidFinishLaunching:(NSNotification*)aNotification

  • Програми на основі документів: (void)windowControllerDidLoadNib:(NSWindowController*)windowController

Зворотний виклик — це просто метод, який в кінцевому підсумку виконує ОС, коли вона намагається надати або отримати інформацію з вашої програми. Ваш код програми виконає метод для класу Cocoa, де ваша програма матиме можливість надати ім’я методу одного з ваших класів, який буде викликаний для об’єкта цього класу, який також має надати ваша програма.

Делегат є допоміжним об'єктом, який класом какао використовує для розширення функціональних можливостей класу, дозволяючи реалізувати код, клас Cocoa буде виконувати при певних обставинах. Клас Cocoa перевіряє свій об'єкт делегата (якщо він призначений), чи забезпечує делегат реалізацію певного методу. Якщо делегат має цей метод, клас Cocoa виконує цей метод; якщо делегат не реалізує цей конкретний метод, клас Cocoa або використовує власний метод за замовчуванням, або реєструє помилку. Більшість делегатів повинні включати певний протокол, який визначає, які методи вони можуть застосовувати; делегати вашого коду повинні використовувати методи реалізації з конкретного протоколу, який очікує делегат.

Ось деякі з об’єктів Cocoa, які можуть використовувати делегатів для виконання вашого коду:

  • NSTableView. NSTableView приймає делегата, який підкоряється протоколу NSTableViewDelegate. Це включає від 20 до 30 методів, які об’єкт делегата вашої програми може реалізувати для підтримки потреби вашої програми знати, що робить NSTableView. Існують методи, які будуть викликатися у вашій програмі, коли їй потрібно знати дії та реагувати на них, наприклад, коли користувач робить вибір у таблиці або коли змінюється розмір стовпця.

  • Застосування NSA. Ви можете призначити NSApplicationDelegate для обробки деяких методів, які отримає екземпляр NSApplication (ваша програма). Ці методи можуть бути викликані безпосередньо перед або відразу після того, як ваша програма виконує інший метод, щоб можна було підготувати вашу програму.

  • NSWindow. NSWindowDelegate, призначений одному з вікон вашої програми, дасть вашій програмі можливість реагувати на зміну розміру, переміщення або інші події вікна користувача.

  • NSMenu. Ви реалізуєте NMenuDelegate для підтримки подій, які відбуваються, коли користувач взаємодіє з меню у вашій програмі.


Огляд Snagit 2018 Що нового з версії 13

Огляд Snagit 2018 Що нового з версії 13

TechSmith Snagit — наше улюблене програмне забезпечення для створення скріншотів і редагування зображень. Перегляньте нові функції в Snagit 2018!

8 онлайн-інструментів для малювання діаграм і блок-схем

8 онлайн-інструментів для малювання діаграм і блок-схем

Потрібно створити діаграми або блок-схеми і не хочете встановлювати додаткове програмне забезпечення? Ось список онлайн-інструментів для створення діаграм.

Spotify не може відтворити поточну пісню? Як виправити

Spotify не може відтворити поточну пісню? Як виправити

Мати дім, повний бездротових пристроїв і потокових служб, таких як Spotify, — це чудово, доки все не запрацює, а ви знайдете цікаві рішення.

Що таке NVMe M.2 SSD і наскільки він швидкий?

Що таке NVMe M.2 SSD і наскільки він швидкий?

NVMe M.2 SSD — це найновіша технологія комп’ютерних жорстких дисків. Що це таке та наскільки він швидкий порівняно зі старими жорсткими дисками та твердотільними накопичувачами (SSD)?

Sonos проти AirPlay: Чому я вибрав AirPlay для аудіосистеми всього будинку

Sonos проти AirPlay: Чому я вибрав AirPlay для аудіосистеми всього будинку

Sonos — це ідеальне рішення для потокового аудіо від 400 доларів США за два динаміки. Але за правильного налаштування AirPlay може бути безкоштовним. Давайте розглянемо деталі.

Додаток Google Backup and Sync замінює Photos і Drive

Додаток Google Backup and Sync замінює Photos і Drive

Google Backup and Sync – це нова програма, яка синхронізується з Фото та Диском. Читайте далі, щоб побачити, як він протистоїть OneDrive, Dropbox, Backblaze і Crashplan.

Розрізання кабелю: огляд MyIPTV із SOPlayer

Розрізання кабелю: огляд MyIPTV із SOPlayer

MyIPTV — це служба розрізання кабелю, яка використовує програму SOPlayer для кількох платформ і надає телебачення, фільми та інші форми медіа за плату.

Клавіатура Logitech K830 для вітальні з підсвічуванням

Клавіатура Logitech K830 для вітальні з підсвічуванням

Logitech нещодавно випустила клавіатуру K830 з підсвічуванням для вітальні, призначену для домашнього розваги. Ось наш огляд агрегату.

Оновлено CloudHQ: швидша синхронізація, редагування файлів Dropbox із Google Docs

Оновлено CloudHQ: швидша синхронізація, редагування файлів Dropbox із Google Docs

Ось подивіться на нещодавно випущене оновлення для CloudHQ і як воно працює. Читайте далі, щоб дізнатися більше.

Що таке Android-телефон OnePlus 6T?

Що таке Android-телефон OnePlus 6T?

OnePlus 6T — флагманський Android-телефон преміум-класу, який продається зі знижкою порівняно з Apple iPhone, Google Pixel 3 або Samsung Galaxy S9.