Область монтажа
Область монтажа является безопасным и стандартизированным механизмом для обмена данными в или между приложениями. Много операций зависят от области монтажа, особенно вставка сокращения копии. На OS X операции перетаскивания и прикладные службы также зависят от области монтажа. Можно также использовать области монтажа в других ситуациях, где совместное использование данных между приложениями желательно.
Область монтажа в платформе AppKit представлена экземпляром NSPasteboard
класс; эквивалентный класс в платформе UIKit UIPasteboard
. Объекты области монтажа получают доступ к общему репозиторию, где объект писателя и объект читателя встречаются для обмена данными. Писатель, также известный как владелец области монтажа, депонирует данные по экземпляру области монтажа и шагам. Читатель получает доступ к области монтажа, асинхронно, и копирует данные в его адресное пространство.
Области монтажа могут быть общедоступными или частными к одному или более приложениям. Общедоступные области монтажа являются предоставленной системой и доступны всем приложениям. Все области монтажа, общедоступные и частные, должны иметь уникальное имя. И платформы имеют области монтажа общего назначения и области монтажа, используемые в поисковых операциях. В iOS называют эти области монтажа UIPasteboardNameGeneral
и UIPasteboardNameFind
; в OS X их называют NSGeneralPboard
и NSFindPboard
. OS X имеет дополнительные именованные системные области монтажа для линеек, шрифтов и операций перетаскивания. Приложение на любой платформе обычно использует одну из системных областей монтажа, но может создать частную область монтажа под уникальным именем; например, это могло бы создать частную область монтажа для совместного использования данных с одноуровневым приложением, созданным тем же поставщиком программного обеспечения.
Область монтажа содержит многократные элементы в многократных представлениях
Элемент области монтажа является частью данных, помещенных на область монтажа. Область монтажа может содержать единственный элемент, такой как файл образа или документ, или она может содержать многократные элементы. Методы классов области монтажа (и, на OS X, NSPasteboardItem
класс), позволяют Вам записать и считать единственные или многократные элементы области монтажа или поскольку список свойств возражает или как двоичные данные.
Для упрощения совместного использования между приложениями с различными возможностями элемент области монтажа может включать многократные представления тех же данных. Например, редактор обогащенного текста мог бы обеспечить RTFD, RTF и представления простого текста данных, которые это пишет как элемент области монтажа. Каждое представление элемента идентифицируется различным Uniform Type Identifier (UTI).
Персистентность областей монтажа
В OS X сервер области монтажа, работающий в фоновом режиме, дает персистентность данным, ставит области монтажа. Когда приложение, депонирующее данные, завершается, данные остаются доступными любому заинтересованному читателю. Сервер области монтажа поддерживает произвольное число отдельных областей монтажа для различения среди нескольких параллельной передачи данных.
В iOS общественность (система) области монтажа являются персистентными, но значением по умолчанию, частным (приложение), области монтажа не. Эти частные области монтажа не продолжают существовать, когда приложение, создающее их выходы. Однако можно установить свойство для создания областей монтажа приложения персистентными.