這個class的作用在於不同的app之間分享資料。
預設的剪貼簿有兩種:
App可以創建自己使用、或是提供給相同team ID的App使用的剪貼簿。剪貼簿必須有獨一無二的名稱以供識別。你可以將app-specific的剪貼簿標記成永遠存在。System pastboard預設上是永遠存在的。
當你將物件寫入到剪貼簿上,他會以pastboard item來儲存。Pastboard item是單一或更多的key-value pairs,這邊的key是一個字串,用於識別value的表示類型(represantation type)。舉例來說,源app可能會以PNG、JEPG和GIF資料格式將圖片寫入pastboard,擁有多種表示類型的pastboard item更容易分享給其他的app,比方說如果接收端app只能處理GIF的圖片,他還是可以獲得這份pastboard data。
Uniform Type Identifier (UTI) 經常用於表示類型(又叫做pasteboard type)。App要用什麼字串去命名表示類型都可以,然而,對於app-specific data類型來說,建議使用reverse-DNS notation來確保類型的獨一性。
- 在任何不同的app之間分享資料,可使用:system-wide pasteboards
- 在特定的team ID下的App分享資料,可使用:app-specific pasteboards
剪貼簿
pastboard是一個被命名的記憶體區域,此記憶體內儲存的資料可以被分享。預設的剪貼簿有兩種:
- UIPasteboardNameGeneral (General Pastboard)
- UIPasteboardNameFind (Find Pastboard)
App可以創建自己使用、或是提供給相同team ID的App使用的剪貼簿。剪貼簿必須有獨一無二的名稱以供識別。你可以將app-specific的剪貼簿標記成永遠存在。System pastboard預設上是永遠存在的。
當你將物件寫入到剪貼簿上,他會以pastboard item來儲存。Pastboard item是單一或更多的key-value pairs,這邊的key是一個字串,用於識別value的表示類型(represantation type)。舉例來說,源app可能會以PNG、JEPG和GIF資料格式將圖片寫入pastboard,擁有多種表示類型的pastboard item更容易分享給其他的app,比方說如果接收端app只能處理GIF的圖片,他還是可以獲得這份pastboard data。
Uniform Type Identifier (UTI) 經常用於表示類型(又叫做pasteboard type)。App要用什麼字串去命名表示類型都可以,然而,對於app-specific data類型來說,建議使用reverse-DNS notation來確保類型的獨一性。
讀寫方法
針對pastboard item的讀寫方法:- NSString, NSArray, NSDictionary, NSDate, NSNumber, UIImage, or NSURL:setValue:forPasteboardType:
- Binary:setData:forPasteboardType:
- 其他 (strings, images, URLs, and colors):以property的形式
協同的UIKit和Protocol
- UIMenuController:顯示在選擇區塊上或下方的選單(複製、剪下、貼上等等)
- UIResponder:實作canPerformAction:withSender:來啟動或是取消上面提到的提到的指令。
- UIResponderStandardEditActions:Responders會實作宣告在此informal protocol內的方法來處理所選的選單指令。
呼叫預設剪貼簿
只要一行就可以了: UIPasteboard *pastboard = [UIPasteboard generalPasteboard];
留言
張貼留言