Я начинаю с Swift, и я пытаюсь выяснить, как я могу прочитать то, что было скопировано в буфер обмена. На macOS (Swift 3)? Я много искал, но не мог найти ничего, что сработает.Чтение из буфера обмена с Swift 3 на macOS
Некоторые из вещей, которые я попробовал от онлайн:
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)
}
}
}
Ваш второй код является единственной попыткой в правильном направлении. Третий - для iOS. Четвертый - Свифт 2. Первый не имеет смысла. – rmaddy