Как использовать NSPasteboard для передачи данных между приложениями (используя контекстные меню) - PullRequest
0 голосов
/ 13 ноября 2011

"Объекты NSPasteboard передают данные на сервер и от него. Сервер совместно используется всеми запущенными приложениями. Он содержит данные, которые пользователь вырезал или скопировал, а также другие данные, которые одно приложение хочет передать другие . Объекты NSPasteboard являются единственным интерфейсом приложения к серверу и всем операциям с картоном.

Объект NSPasteboard также используется для передачи данных между приложениями и поставщиками услуг, перечисленными в меню Сервисов каждого приложения . Drag pasteboard (NSDragPboard) используется для переноса данных, которые перетаскивает пользователь. "

Я нашел это в документации Apple NSPasteboard. До сих пор я знаю, как использовать монтажную панель только для простого копирования и вставки. Что мне интересно знать, так это то, как данные, не предназначенные для копирования и вставки, можно передавать через сервер монтажа между приложениями, используя контекстные меню вместо перетаскивания. Например, если пользователь щелкает правой кнопкой мыши слово и щелкает «Искать в словаре» в контекстном меню, слово (предположительно) отправляется в приложение «Словарь» через монтажную панель.

Может ли кто-нибудь продемонстрировать приложение для проверки концепции, показывающее, как получить доступ к данным на монтажном сервере, на котором хранятся слова, которые пользователь использовал для поиска в словаре?

1 Ответ

0 голосов
/ 13 ноября 2011

Нам не обязательно находить монтажный картон «Поиск в словаре». (если есть). Но есть метод класса NSPasteboard, который мне подходит для такого использования, если вы хотите передавать данные через монтажную панель через ваши приложения.

+ (NSPasteboard *)pasteboardWithName:(NSString *)name

Просто используйте одно и то же имя для обоих приложений, и вы можете передавать данные между ними. Просто позовите - releaseGlobally на этом картоне, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...