UIPasteboard setItems: options API, UTType.plainText: swift 用法
UIPasteboard setItems: options API, UTType.plainText: swift usage
我正在尝试在 Swift 中使用以下 API:UIPasteboard: setItems(_:options:)
,如 this answer 中所建议:
UIPasteboard.general.setItems([[kUTTypeUTF8PlainText as String: text]], options: [.expirationDate : Date(timeIntervalSinceNow: 10)])
不过,似乎 kUTTypeUTF8PlainText
常量已被弃用,我需要使用 UniformTypeIdentifiers 框架:
pasteboard.setItems([[String(UTType.plainText): string]],
options: [.expirationDate: Date(timeIntervalSinceNow: 120)])
但是,setItems:
方法只接受 String
类型作为键,所以我需要以某种方式将 UTType.plainText
类型转换为 String
类型。我怎样才能做到这一点?
您应该使用 identifier
属性(另请注意等效类型称为 utf8PlainText
):
UTType.utf8PlainText.identifier
如文档所述:
API that doesn’t use UTType uses a String
or CFString
to refer to a type by its identifier.
而UIPasteBoard
就是这样一个API。
我正在尝试在 Swift 中使用以下 API:UIPasteboard: setItems(_:options:) ,如 this answer 中所建议:
UIPasteboard.general.setItems([[kUTTypeUTF8PlainText as String: text]], options: [.expirationDate : Date(timeIntervalSinceNow: 10)])
不过,似乎 kUTTypeUTF8PlainText
常量已被弃用,我需要使用 UniformTypeIdentifiers 框架:
pasteboard.setItems([[String(UTType.plainText): string]],
options: [.expirationDate: Date(timeIntervalSinceNow: 120)])
但是,setItems:
方法只接受 String
类型作为键,所以我需要以某种方式将 UTType.plainText
类型转换为 String
类型。我怎样才能做到这一点?
您应该使用 identifier
属性(另请注意等效类型称为 utf8PlainText
):
UTType.utf8PlainText.identifier
如文档所述:
API that doesn’t use UTType uses a
String
orCFString
to refer to a type by its identifier.
而UIPasteBoard
就是这样一个API。