Objective c 如何将文本字段复制到OSX剪贴板?
我被困在这里了。我知道如何在iPhone端复制和粘贴内容,但如何将文本字段中的内容复制到OSX中的全局剪贴板。我一直在网上搜索,但实际上没有任何例子。所以,让我详细解释一下我想要实现的目标。我有一个名为helloField的NSTextField,我希望能够通过按下按钮将此helloField的内容复制到全局粘贴板。如何做到这一点?我是否需要某些库?谢谢。在iOS上Objective c 如何将文本字段复制到OSX剪贴板?,objective-c,xcode,macos,copy,clipboard,Objective C,Xcode,Macos,Copy,Clipboard,我被困在这里了。我知道如何在iPhone端复制和粘贴内容,但如何将文本字段中的内容复制到OSX中的全局剪贴板。我一直在网上搜索,但实际上没有任何例子。所以,让我详细解释一下我想要实现的目标。我有一个名为helloField的NSTextField,我希望能够通过按下按钮将此helloField的内容复制到全局粘贴板。如何做到这一点?我是否需要某些库?谢谢。在iOS上 [UIPasteboard generalPasteboard].string = helloField.text; 关于OSX
[UIPasteboard generalPasteboard].string = helloField.text;
关于OSX
[[NSPasteboard generalPasteboard] clearContents];
[[NSPasteboard generalPasteboard] setString:helloField.stringValue forType:NSStringPboardType];
关于macOS和Swift 3.x
let pasteBoard = NSPasteboard.general()
pasteBoard.clearContents()
pasteBoard.writeObjects([text as NSString])
将字符串复制到剪贴板的代码:
[[NSPasteboard generalPasteboard] clearContents];
[[NSPasteboard generalPasteboard] setString:copiedString forType:NSPasteboardTypeString];
NSStringPboardType
已弃用。NSPasteboard.h
中有一个关于pboard
类型的注释:
使用pboard类型应替换为使用UTI。Pboard类型将在将来的版本中被弃用
也在头文件中:
APPKIT_EXTERN NSString*常量NSPasteboardTypeString NS_可用\u MAC(10_6);//替换NSStringPboardType…
APPKIT_EXTERN NSString*NSStringPboardType//使用NSPasteboardTypeString
对于Swift 3中的Cocoa macOS:
let pasteBoard = NSPasteboard.general()
pasteBoard.clearContents()
pasteBoard.setString("something", forType: NSPasteboardTypeString)
斯威夫特5号
let pasteboard = NSPasteboard.general
pasteboard.clearContents()
pasteboard.setString("string to copy", forType: .string)
刚刚发现(在MonoMac for OS X上)需要
clearContents
,否则setString
会失败并返回FALSE
。在Swift实现中必须省略第一行的括号:让pasteBoard=NSPasteboard.general