UIPasteboard 可以将每个对象的键设为UTIType。
定义了 UIPasteboardTypeListURL 和 UIPasteboardTypeListString 。
这些const变量的类型为NSArray<NSString>
。
当我打印值时,
(lldb) po UIPasteboardTypeListString
<__NSArrayI 0x1d003e5e0>(
public.utf8-plain-text,
public.text
)
(lldb) po UIPasteboardTypeListURL
<__NSSingleObjectArrayI 0x1d001f270>(
public.url
)
NSURL 的UTIType是 public.url
所以我确实希望 UIPasteboard 的项为 NSURL 。
是的,对。但是,下一行返回了字符串值:
[UIPasteboard generalPasteboard] setItems:@[@{(__bridge NSString *)kUTTypeURL: [NSURL URLWithString:@"http://www.stackoverflow.com"]}]];
[[UIPasteboard generalPasteboard] string]
Result : http://www.stackoverflow.com
但是, UIPasteboard 不包含 UIPasteboardTypeListString 。
[[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString]
Result : NO
kUTTypeUTF8PlainText 或 kUTTypeText 是否包含 kUTTypeURL ?
我以为他们不一样。