在macOS上使用Swift 3从剪贴板中读取
发布时间:2020-12-14 04:29:41 所属栏目:百科 来源:网络整理
导读:我是 Swift的初学者,我正在试图弄清楚如何在macOS(Swift 3)上阅读已复制到剪贴板的内容?我经常搜索,但似乎找不到任何有用的东西. 我在网上试过的一些事情: var pasteboardItems: [NSPasteboardItem]? { get }print("(pasteboardItems)") 和 let pb = NSPa
我是
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |