我是
Swift的初学者,我正在试图弄清楚如何在macOS(Swift 3)上阅读已复制到剪贴板的内容?我经常搜索,但似乎找不到任何有用的东西.
我在网上试过的一些事情:
var pasteboardItems: [NSPasteboardItem]? { get } print("\(pasteboardItems)")
和
let pb = NSPasteboard.general() pb.string(forType: NSPasteboardTypestring) print("\(pb)")
和
let pasteboard = UIPasteboard.general if let string = pasteboard.string { // text was found and placed in the "string" constant }
最后
func paste(sender: AnyObject?) { let pasteboard = NSPasteboard.generalPasteboard() if let nofElements = pasteboard.pasteboardItems?.count { if nofElements > 0 { // Assume they are strings var strArr: Array<String> = [] for element in pasteboard.pasteboardItems! { if let str = element.stringForType("public.utf8-plain-text") { strArr.append(str) } } // Exit if no string was read if strArr.count == 0 { return } // Perform the paste operation dataSource.cmdPaste(strArr) } } }
解决方法
适用于Swift 3和Swift 4
// Set string to clipboard let pasteboard = NSPasteboard.general pasteboard.declareTypes([NSPasteboard.PasteboardType.string],owner: nil) pasteboard.setString("Good Morning",forType: NSPasteboard.PasteboardType.string) var clipboardItems: [String] = [] for element in pasteboard.pasteboardItems! { if let str = element.string(forType: NSPasteboard.PasteboardType(rawValue: "public.utf8-plain-text")) { clipboardItems.append(str) } } // Access the item in the clipboard let firstClipboardItem = clipboardItems[0] // Good Morning
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。