コントローラークラスの1つにインターフェイスNSItemProviderWriting
とその必要なメソッドを実装する必要があります。
非常に単純な実装はyourString
を貼り付けるには、文字列が含まれているところのようになります。
static var writableTypeIdentifiersForItemProvider: [String] {
return [ kUTTypeUTF8PlainText as String ]
}
func loadData(withTypeIdentifier typeIdentifier: String, forItemProviderCompletionHandler completionHandler: @escaping (Data?, Error?) -> Void) -> Progress? {
completionHandler(yourString.data(using: .utf8), nil)
return nil
}
あなたはkUTTypeUTF8PlainText
の定義をインポートするためのimport MobileCoreServices
を追加する必要があります。
通常、この実装では、上のサンプルコードで呼び出しを行うコントローラを使用します。その後、あなたは配列内の値としてとしてこれを使用する必要があります。
UIPasteboard.general.setObjects(objects: [ self ],
localOnly: true,
expirationDate: Date(timeIntervalSinceNow: 120))
2つの質問:1)スウィフトは 'kUTTypeUTF8PlainText'及び2)' yourString'は 'loadData'でから来ている知っていないようですか?それは私のVC上のローカル変数に文字列を割り当てると仮定されていますか? –
[UTI型](https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html)は、フレームワーク「MobileCoreServices」で定義されています。変数 'yourString'は、貼り付けるテキストのプレースホルダに過ぎません。必要に応じて定義する必要があります。 – clemens
ご協力ありがとうございます –