Class

NSItemProvider

An item provider for conveying data or a file between processes during drag and drop or copy/paste activities, or from a host app to an app extension. ドラッグ&ドロップまたはコピー/ペースト行為の間にプロセス間で、またはホストアプリからアプリ拡張へと、伝達しているデータやファイルのためのアイテムプロバイダ。

Declaration 宣言

class NSItemProvider : NSObject

Overview 概要

Starting in iOS 11, item providers play a central role in drag and drop, and in copy/paste. They continue to play a role with app extensions. iOS 11から、それらアイテムプロバイダはドラッグ&ドロップ、そしてコピー/ペーストにおいて中心的役割を果たします。それらは引き続いてアプリ拡張である役割を演じます。

All completion blocks used in the NSItemProvider class are called by the system on an internal queue. When using an item provider with drag and drop, ensure that user-interface updates take place on the main queue as follows: NSItemProviderクラスにおいて使われる全ての完了ブロックは、システムによって内部キュー上で呼び出されます。アイテムプロバイダをドラッグ&ドロップで使う場合、ユーザインターフェイス更新がメインキュー上で以下のようにとり行われることを確実にしてください:


DispatchQueue.main.async {
    // work that impacts the user interface
}

App Extension Support アプリ拡張サポート

An app extension typically encounters item providers when examining the attachments property of an NSExtensionItem object. During that examination, the extension can use the hasItemConformingToTypeIdentifier(_:) method to look for data that it recognizes. Item providers use Uniform Type Identifier (UTI) values to identify the data they contain. After finding a type of data that your extension can use, it calls the loadItem(forTypeIdentifier:options:completionHandler:) method to load the actual data, which is delivered to the provided completion handler. あるアプリ拡張が概してアイテムプロバイダそれらに出くわすのは、NSExtensionItemオブジェクトのattachmentsプロパティを検査する時です。その検査の間、その拡張はhasItemConformingToTypeIdentifier(_:)メソッドを使って、それが認識するところのデータを捜します。アイテムプロバイダそれらは、Uniform Type Identifier(UTI)値を使うことでそれらが含むデータを識別します。あなたの拡張に使用できるデータの型の発見後、それはloadItem(forTypeIdentifier:options:completionHandler:)メソッドを呼び出すことで実際のデータをロードし、それはその添付の完了ハンドラに送り届けられます。

You can create item providers to vend data to another process. An extension that modifies an original data item can create a new NSItemProvider object to send back to the host app. When creating data items, you specify your data object and the type of that object. You can optionally use the previewImageHandler property to generate a preview image for your data. あなたは、それらアイテムプロバイダを作成することでデータを別のプロセスに供給できます。元のデータ項目を修正する拡張は、新しいNSItemProviderオブジェクトを作成してホストアプリに送り返せます。データ項目を作成する時、あなたはあなたのデータオブジェクトとそのオブジェクトの型を指定します。あなたは、随意にpreviewImageHandlerプロパティを使って、あなたのデータのプレビューイメージを生成できます。

A single item provider may use custom blocks to provide its data in many different formats. When configuring an item provider, use the registerItem(forTypeIdentifier:loadHandler:) method to register your blocks and the formats each one supports. When a client requests data in a particular format, the item provider executes the corresponding block, which is then responsible for coercing the data to the appropriate type and returning it to the client. ある単一のアイテムプロバイダが、あつらえのブロックを使うことで、それのデータを多くの異なる形式で提供できます。アイテムプロバイダを構成設定する場合、registerItem(forTypeIdentifier:loadHandler:)メソッドを使って、あなたのブロックそれらとそのそれぞれがサポートする形式を登録してください。クライアントがデータをある特定の形式で求める時、アイテムプロバイダはその対応するブロックを実行し、それがそのときデータを適切な型に強制することおよびそれをクライアントに返すことに責任を負います。

Topics 話題

Creating an Item Provider アイテムプロバイダを作成する

Configuring the Provider プロバイダを構成設定する

Querying the Provider’s Contents プロバイダーのもつ内容について尋ねる

Loading the Provider’s Contents プロバイダーのもつ内容をロードする

Loading a Preview Image プレビューイメージをロードする

Registering CloudKit Shares CloudKit共有を登録する

Registering Data データを登録する

Registering Files ファイルを登録する

Registering Objects オブジェクトを登録する

Getting the Provider’s Frame プロバイダーのもつフレームを取得する

Constants 定数

Relationships 関係

Inherits From 継承元

Conforms To 次に準拠

See Also 参照

Attachments 付加情報