Я читал Apple Руководство по программированию Pasteboard , но оно не отвечает на мой конкретный вопрос.
Я пытаюсь написать приложение Какао (для OS X, а не iOS), которое будет отслеживать все, что записывается на общий монтажный стол (так, всякий раз, когда какое-либо приложение копирует и вставляет, но не, скажем, перетаскивает и -drops, который также использует NSPasteboard). Я мог (почти) добиться этого, постоянно опрашивая общий монтажный стол в фоновом потоке и проверяя changeCount . Конечно, это заставит меня почувствовать себя очень грязным внутри.
Мой вопрос: есть ли способ попросить сервер Pasteboard уведомлять меня через какой-то обратный вызов каждый раз, когда в общий монтажный стол вносятся изменения? Я не смог найти ничего в справочнике по классу NSPasteboard, но надеюсь, что он скрывается где-то еще.
Другой способ, который я мог бы представить для этого, - это если бы существовал способ заменить общую реализацию монтажного стола на подкласс NSPasteboard. что я мог определить себя для выполнения обратного вызова. Может быть, что-то подобное возможно?
Я бы очень предпочел, если бы это было возможно с общедоступными API, разрешенными в App Store, но если необходимо использование частного API, я тоже воспользуюсь этим.
Спасибо!