内容の保証はできません。


/System/Library/frameWorks/UIKit.framework

クラス UIPasteboard

NSObject
  |
  +--UIPasteboard

概要

UIPasteboardクラスは、アプリケーションとアプリケーション内のデータまたは、他のアプリケーションが使用するシステム全体のデータまたは、アプリケーション固有のペーストボードのデータの共有を有効にします。

通常、アプリケーションのオブジェクトは、ユーザがユーザインタフェースの選択によりコピーまたは貼り付け操作をリクエストしたときにペーストボードにデータを書き込みます。同じまたは異なるアプリケーションの他のオブジェクトは、その後でユーザの貼り付け操作のリクエストにより、ペーストボードからデータを読み込み、新しい場所でユーザにそれを提供します。

ペーストボードはデータを共有することができるメモリ領域に生成されます。2つのシステムペーストボード、ジェネラルペーストボード(UIPasteboardNameGeneral)とファインドペーストボード(UIPasteboardNameFind)があり、ジェネラルペーストボードはコピー&ペースト操作のためあらゆる種類のデータと関係しています。ファインドペーストボードは検索操作に使用され、サーチバーの中にある最も最近の文字列を保持しています。アプリケーションもまた、独自の利用または関連するアプリケーションファミリーが利用するためのペーストボードを生成することが可能です。ペーストボードは必ずユニークな名前で識別されなければなりません。また、アプリケーションペーストボードを永続的なペーストボードとしてマークすることも考えられるので、アプリケーションの終了後にもペーストを存続させなければなりません。なお、システムペーストボードはデフォルトで永続的に存在しています。

ペーストボードにオブジェクトを書き込む時、それはペーストボードアイテムとしてペーストボードに格納されます。ペーストボードアイテムは1つまたは複数のキー値とペアになっており、値のデータを表現するタイプを識別する文字列になっています。複数のデータを表現するタイプを持っているペーストボードアイテムは、アプリケーション固有の機能を知らずにして、他のアプリケーションのデータを共有することを可能にします。例えば、あるアプリケーションがペーストボードにPNG、JPEG、GIFデータフォーマットの異なる同じ画像データを書き込んだ時、受信側アプリケーションがGIFイメージのイメージだけしか処理できなかい場合でも、ペーストボードのデータを取得することが可能です。

ユニフォームタイプの識別子(UTI)はデータを表現するタイプとして頻繁に使用されます。(ペーストボードタイプとしても時々呼び出されます)例えば、kUTTypeJPEG (jpeg公式の定数)のJPEGのデータを表現するタイプが使用できた時、アプリケーションは自由に任意の文字列をデータを表現するタイプとして使用できます。ただし、アプリケーション固有のデータタイプを使用する場合、一意性を確保するためにリバースDNSの表記を使用することをお勧めします。(例:com.myCompany.myApp.myType)

UIPasteboardクラスは、シングルペーストボードアイテムと同じぐらいの時間でマルチプルペーストボードアイテムを読み書きするメソッドを提供しています。データは2つの一般的な形で読み書きされます。もしもデータがプロパティリストオブジェクトで書かれたものか、またはそのようなオブジェクトに変換されたデータだった場合、setValue:forPasteboardType:メソッドを使用してペーストボードに書き込みます。もしもデータがバイナリデータ(例えば、画像データ)または、プロパティリストタイプで変換できないデータの場合は、setData:forPasteboardType:メソッドを使用してペーストボードに書き込みます。UIPasteboarで利用できるプロパティリストオブジェクトのクラスに、NSString、NSArray、NSDictionary、NSData、NSNumber、NSURLのクラスがあります。また、シングルまたはマルチプルペーストボードアイテムから文字列や画像、URLや色を読み書きするための便利なメソッドも提供しています。

UIPasteboardクラスは、コピーや貼り付け操作の中枢となるクラスですが、その他のUIKitクラスやプロトコルもそれらの操作に利用されています。

UIMenuController - コピー、切り取り、貼り付け、選択、全てを選択のコマンドのメニューを表示します。
UIResponder - レスポンダはcanPerformAction:withSender:メソッドを実装しており、現在のコンテキストに基づいて上記のメニューのコマンドを有効または無効にします。
■UIResponderStandardEditActions - レスポンダは非公式のプロトコルに宣言されているこのメソッドを実装しており、選択されたメニューコマンドを処理します。

アプリケーションは、通常、コピーペーストを処理するためにそれを管理・提供するためのユーザインタフェースを実装しています。従って、ユーザインタフェースのデータモデルに、貼り付けや切り取り操作のアイテムを追加または削除してインタフェースを調整する必要があります。

タスク

ペーストボードの取得と削除

+ generalPasteboard
+ pasteboardWithName:create:
+ pasteboardWithUniqueName
+ removePasteboardWithName:

ペーストボード属性の取得と設定

name property
persistent property
changeCount property

シングルペーストボードアイテムの決定

– pasteboardTypes
– containsPasteboardTypes:

シングルペーストボードアイテムの取得と設定

– dataForPasteboardType:
– valueForPasteboardType:
– setData:forPasteboardType:
– setValue:forPasteboardType:

マルチプルペーストボードアイテムのタイプの取得と設定

numberOfItems property
– pasteboardTypesForItemSet:
– itemSetWithPasteboardTypes:
– containsPasteboardTypes:inItemSet:

マルチプルペーストボードアイテムの取得と設定

items property
– dataForPasteboardType:inItemSet:
– valuesForPasteboardType:inItemSet:
– addItems:

スタンダードタイプのペーストボードアイテムの取得と設定

string property
strings property
image property
images property
URL property
URLs property
color property
colors property

プロパティ

changeCount

ペーストボードのコンテンツが変更された回数を返す。(読み取りのみ)

@property(readonly, nonatomic) NSInteger changeCount

color

最初のペーストボードアイテムのカラーオブジェクト。

@property(nonatomic, copy) UIColor *color

colors

全てのペーストボードアイテムのカラーオブジェクトの配列。

@property(nonatomic, copy) NSArray *colors

image

最初のペーストボードアイテムのイメージオブジェクト。

@property(nonatomic, copy) UIImage *image

images

全てのペーストボードアイテムのイメージオブジェクトの配列。

@property(nonatomic, copy) NSArray *images

items

ペーストボード上のペーストボードアイテム。

@property(nonatomic,copy) NSArray *items

name

ペーストボードの名前。(読み取りのみ)

@property(readonly, nonatomic) NSString *name

numberOfItems

ペーストボード上のアイテム数を返す。(読み取りのみ)

@property(readonly, nonatomic) NSInteger numberOfItems

persistent

ペーストボードが継続的なものであるかどうかを決定する。

@property(getter=isPersistent, nonatomic) BOOL persistent

string

最初のペーストボードアイテムの文字列。

@property(nonatomic, copy) NSString *string

strings

全てのペーストボードアイテムの文字列の配列。

@property(nonatomic, copy) NSArray *strings

URL

最初のペーストボードアイテムのURLオブジェクト。

@property(nonatomic, copy) NSURL *URL

URLs

全てのペーストボードアイテムのURLオブジェクトの配列。

@property(nonatomic, copy) NSArray *URLs

クラスメソッド

generalPasteboard

一般的なコピー&ペースト操作に使用されるジェネラルペーストボードを返す。

+ (UIPasteboard *)generalPasteboard

pasteboardWithName:create:

名前によって識別されたペーストボードを返す。もしその名前のペーストボードが存在しないならオプションでそれを作成することができる

+ (UIPasteboard *)pasteboardWithName:(NSString *)pasteboardNamecreate:(BOOL)create

pasteboardWithUniqueName

システムによって生成されたユニークな名前によって識別されたアプリケーションペーストボードを返す。

+ (UIPasteboard *)pasteboardWithUniqueName

removePasteboardWithName:

指定されたアプリケーションペーストボードを無効にする。

+ (void)removePasteboardWithName:(NSString *)pasteboardName

インスタンスメソッド

addItems:

ペーストボードの現在のコンテンツをペーストボードアイテムリストに追加する。

- (void)addItems:(NSArray *)items

containsPasteboardTypes:

ペーストボードが指定された表現タイプのデータを保持しているかどうかを返す。

- (BOOL)containsPasteboardTypes:(NSArray *)pasteboardTypes

containsPasteboardTypes:inItemSet:

指定されたペーストボードアイテムリストが与えられた表現タイプのデータを含んでいるかどうかを返す。

- (BOOL)containsPasteboardTypes:(NSArray *)pasteboardTypes inItemSet:(NSIndexSet *)itemSet

dataForPasteboardType:

ペーストボード内の与えられた表現タイプのデータを返す。

- (NSData *)dataForPasteboardType:(NSString *)pasteboardType

dataForPasteboardType:inItemSet:

指定されたペーストボードアイテムで与えられた表現タイプを持つデータオブジェクトを返す。

- (NSArray *)dataForPasteboardType:(NSString *)pasteboardType inItemSet:(NSIndexSet *)itemSet

itemSetWithPasteboardTypes:

指定された表現タイプを持っているペーストボードアイテムを識別しているインデックスセットを返す。

- (NSIndexSet *)itemSetWithPasteboardTypes:(NSArray *)pasteboardTypes

pasteboardTypes

ペーストボード上の最初のアイテムのタイプを返す。

- (NSArray *)pasteboardTypes

pasteboardTypesForItemSet:

指定されたペーストボードアイテムに対する表現タイプの配列を返す。

- (NSArray *)pasteboardTypesForItemSet:(NSIndexSet *)itemSet

setData:forPasteboardType:

指定された表現タイプのペーストボードのデータを格納する。

- (void)setData:(NSData *)data forPasteboardType:(NSString *)pasteboardType

setValue:forPasteboardType:

指定された表現タイプのペーストボードのプロパティリストを格納する。

- (void)setValue:(id)value forPasteboardType:(NSString *)pasteboardType

valueForPasteboardType:

与えられた表現タイプのペーストボードのオブジェクトを返す。

- (id)valueForPasteboardType:(NSString *)pasteboardType

valuesForPasteboardType:inItemSet:

指定されたペーストボードアイテムのプロパティリストオブジェクトで与えられた表現タイプを持つものを返す。

- (NSArray *)valuesForPasteboardType:(NSString *)pasteboardType inItemSet:(NSIndexSet *)itemSet

コンスタント

Pasteboard Names

システムペーストボードの識別ネーム

UIPasteboardNameGeneralジェネラルペーストボードを識別するためのネーム
UIPasteboardNameFindファインドペーストボードを識別するためのネーム

Data Type Extensions

ペーストボードアイテムのデータを表現するタイプに与えられるオブジェクト値

UIPasteboardTypeListStringkUTTypeUTF8PlainTextを含んでいる、文字列の表現タイプを持つペーストボードアイテムの配列。stringやstringsのプロパティに関連している。
UIPasteboardTypeListURLkUTTypeURLを含んでいる、URLの表現タイプを持つペーストボードアイテムの配列。URLやURLsのプロパティに関連している。
UIPasteboardTypeListImagekUTTypePNGやkUTTypeJPEGを含んでいる、イメージの表現タイプを持つペーストボードアイテムの配列。imageやimagesのプロパティに関連している。
UIPasteboardTypeListColor色の表現タイプを持つペーストボードアイテムの配列。coloreやcolorsのプロパティに関連している。

UserInfo Dictionary Keys

ペーストボードから追加または削除されたペーストボードアイテムのデータタイプにアクセスするのに伴い使用されるキー

UIPasteboardChangedTypesAddedKeyUIPasteboardChangedNotificationと言う通知と共に、追加された表現タイプにアクセスするために使用されるキー。これらのタイプは配列として、通知userinfo辞書に格納されている。
UIPasteboardChangedTypesRemovedKeyUIPasteboardChangedNotificationと言う通知と共に、削除された表現タイプにアクセスするために使用されるキー。これらのタイプは配列として、通知userinfo辞書に格納されている。

通知

UIPasteboardChangedNotification

ペーストボードのコンテンツが変更された時にペーストボードオブジェクトによって通知される。これが起こるのと同時に、ペーストボードのチェンジカウント(changeCountプロパティ)がインクリメントされる。コンテンツの変更には、ペーストボードの追加・削除・修正が含まれる。userinfo辞書はペーストボードから追加または削除されたペーストボードのデータを表現するタイプを含んでいる。これらの表現タイプにアクセスするために使用されるキーについては、UserInfo Dictionary Keysを参照すること。ペーストボードが(追加または削除を除いて)修正された場合は、userinfo辞書はnilになる。

UIPasteboardRemovedNotification

アプリケーションがペーストボードを削除する直前にペーストボードオブジェクトによって通知される。その削除に関連するクラスメソッドはremovePasteboardWithName:である。この通知はuserinfo辞書には含まれない。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:25 (2435d)