NSItemProvider
NSItemProvider
класс определяет объект, представляющий высокоуровневую абстракцию для объектов данных, которые могут быть найдены в NSExtensionItem
объект attachments
свойство, такое как текст, изображения и URLs. Расширение использует NSItemProvider
возразите, чтобы запросить приложение узла для доступных форматов элемента, элементов загрузки определенных типов, и поддерживать эффективный предварительный просмотр элемента.
Провайдер элемента использует значения универсального идентификатора типа (UTI) для представления типов изделия. Можно определить пользовательскую обработку загрузки для реализации загрузки типов конкретного изделия.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает провайдера элемента, инициализированного с содержанием указанного файла и надлежащего обработчика загрузки.
Объявление
Swift
convenience init?(contentsOfURL
fileURL
: NSURL!)Objective C
- (instancetype)initWithContentsOfURL:(NSURL *)
fileURL
Параметры
fileURL
URL файла в присоединяемом свойстве дополнительного объекта.
Возвращаемое значение
Инициализированный провайдер элемента, включающий обработчик загрузки для идентификатора типа, полученного из указанного файла, или
nil
если произошла ошибка.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
init (item:typeIdentifier:) - initWithItem:typeIdentifier:
Определяемый инициализаторВозвращает провайдера элемента, инициализированного с обработчиком загрузки, подходящим для указанного элемента.
Объявление
Swift
init(item
item
: NSSecureCoding?, typeIdentifiertypeIdentifier
: String?)Objective C
- (instancetype)initWithItem:(id<NSSecureCoding>)
item
typeIdentifier:(NSString *)typeIdentifier
Параметры
item
NSItemProvider
объект илиnil
.typeIdentifier
Строка, представляющая UTI элемента.
Возвращаемое значение
Инициализированный провайдер элемента с единственным обработчиком загрузки для указанного элемента.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает булево значение, указывающее, имеет ли провайдер элемента по крайней мере один элемент, соответствующий указанному типу.
Объявление
Swift
func hasItemConformingToTypeIdentifier(_
typeIdentifier
: String) -> BoolObjective C
- (BOOL)hasItemConformingToTypeIdentifier:(NSString *)
typeIdentifier
Параметры
typeIdentifier
UTI, указывающий желаемый тип изделия.
Возвращаемое значение
YES
true
если провайдер элемента имеет по крайней мере один элемент, соответствующий указанному типу, илиNO
false
это не делает.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
loadItemForTypeIdentifier (_: options:completionHandler:) - loadItemForTypeIdentifier:options:completionHandler:
Загружает элемент, тип которого наиболее близко соответствует указанный идентификатор типа.
Объявление
Swift
func loadItemForTypeIdentifier(_
typeIdentifier
: String, optionsoptions
: [NSObject : AnyObject]?, completionHandlercompletionHandler
: NSItemProviderCompletionHandler?)Objective C
- (void)loadItemForTypeIdentifier:(NSString *)
typeIdentifier
options:(NSDictionary *)options
completionHandler:(NSItemProviderCompletionHandler)completionHandler
Параметры
typeIdentifier
Строка, представляющая желаемый UTI.
options
Словарь ключей и значений, предоставляющих информацию об элементе, таком как размер изображения. (См.
NSItemProviderPreferredImageSizeKey
для ключа можно использовать.)completionHandler
Блок обработчика завершения, использующий форму, указанную
NSItemProviderCompletionHandler
.Обсуждение
Расширение может указать ожидаемый класс для значения элемента в блоке обработчика завершения. Ошибка возвращается в блоке завершения
error
параметр, если класс значения возвращенного элемента не соответствует указанный класс. Провайдер элемента может выполнить простые преобразования типов для элемента, указанного в блоке, такой как отNSURL
кNSData
илиNSFileWrapper
, или отNSData
кUIImage
(в iOS) илиNSImage
(в OS X).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Устанавливает блок обработчика загрузки для использования для указанного идентификатора типа.
Объявление
Swift
func registerItemForTypeIdentifier(_
typeIdentifier
: String, loadHandlerloadHandler
: NSItemProviderLoadHandler)Objective C
- (void)registerItemForTypeIdentifier:(NSString *)
typeIdentifier
loadHandler:(NSItemProviderLoadHandler)loadHandler
Параметры
typeIdentifier
Строка, представляющая желаемый UTI.
loadHandler
Блок обработчика завершения, использующий форму, указанную
NSItemProviderLoadHandler
.Обсуждение
В обработчике загрузки, который Вы указываете, вызывают при необходимости
loadItemForTypeIdentifier:options:completionHandler:
. Ваша реализацияloadItemForTypeIdentifier:options:completionHandler:
должен вызвать обработчик завершения, который Вы указываете в этом методе для завершения процесса загрузки.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает массив зарегистрированных идентификаторов типов для этого провайдера элемента. (только для чтения)
Объявление
Swift
var registeredTypeIdentifiers: [AnyObject] { get }
Objective C
@property(copy, readonly, atomic) NSArray *registeredTypeIdentifiers
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
loadPreviewImageWithOptions (_: completionHandler:) - loadPreviewImageWithOptions:completionHandler:
Загружает изображение предварительного просмотра для указанного элемента.
Объявление
Swift
func loadPreviewImageWithOptions(_
options
: [NSObject : AnyObject]!, completionHandlercompletionHandler
: NSItemProviderCompletionHandler!)Objective C
- (void)loadPreviewImageWithOptions:(NSDictionary *)
options
completionHandler:(NSItemProviderCompletionHandler)completionHandler
Параметры
options
Словарь ключей и значений, предоставляющих информацию об элементе, таком как размер изображения. (См.
NSItemProviderPreferredImageSizeKey
для ключа можно использовать.)completionHandler
Блок обработчика завершения, использующий форму, указанную
NSItemProviderCompletionHandler
.Обсуждение
В некоторых случаях изображение предварительного просмотра может быть загружено обработчик на основе Беглого взгляда. Провайдер элемента может выполнить простые преобразования типов для элемента specifed в блоке, такой как от
NSURL
кNSData
илиNSFileWrapper
, или отNSData
кUIImage
(в iOS) илиNSImage
(в OS X).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
previewImageHandler previewImageHandler
СвойствоПользовательский предварительный просмотр отображает блок обработчика для использования с этим провайдером элемента.
Объявление
Swift
var previewImageHandler: NSItemProviderLoadHandler?
Objective C
@property(copy, atomic) NSItemProviderLoadHandler previewImageHandler
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
Типы данных
-
Блок, который вызовут, когда провайдер элемента загружает элемент из присоединяемого свойства дополнительного объекта.
Объявление
Swift
typealias NSItemProviderCompletionHandler = (NSSecureCoding!, NSError!) -> Void
Objective C
typedef void (^NSItemProviderCompletionHandler)(id <NSSecureCoding> item, NSError *error);
Обсуждение
Для завершения загружающегося запроса блок этой формы вызывают, чтобы дать Вам шанс проверить тип элемента и обработать его соответственно. Параметры этого блока следующие:
item
Загружаемый элемент.
error
Содержит указатель на ошибочный объект (если таковые имеются), указывая, почему не загружался элемент.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Блок, который вызовут, когда элемент определенного типа загружается из присоединяемого свойства дополнительного объекта.
Объявление
Swift
typealias NSItemProviderLoadHandler = (NSItemProviderCompletionHandler!, AnyClass!, [NSObject : AnyObject]!) -> Void
Objective C
typedef void (^NSItemProviderLoadHandler)(NSItemProviderCompletionHandler completionHandler, Class expectedValueClass, NSDictionary *options);
Обсуждение
Специфичным для типа обработчиком загрузки вызывают
loadItemForTypeIdentifier:options:completionHandler:
. Обработчик загрузки, как ожидают, вызовет указанный обработчик завершения для завершения загрузки.completionHandler
Обработчик завершения для вызова для завершения загрузки элемента.
expectedValueClass
Ожидаемый класс загружаемого элемента.
options
Словарь, предоставляющий больше информации об элементе, таком как размер в пикселях изображения. Посмотрите
NSItemProviderPreferredImageSizeKey
для ключа можно использовать.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.10 и позже.
-
Ключ, используемый в
options
словарь для указания информации об элементе.Объявление
Swift
let NSItemProviderPreferredImageSizeKey: NSString!
Objective C
NSString * const NSItemProviderPreferredImageSizeKey;
Константы
-
NSItemProviderPreferredImageSizeKey
NSItemProviderPreferredImageSizeKey
Ключ, используемый в
options
словарьNSItemProviderCompletionHandler
указать размер изображения (в пикселях).Доступный в OS X v10.10 и позже.
-
-
Ключи, используемые в элементах списка свойств, полученных из или отправленный в код JavaScript.
Объявление
Swift
let NSExtensionJavaScriptPreprocessingResultsKey: NSString!
Objective C
NSString * const NSExtensionJavaScriptPreprocessingResultsKey;
Константы