swift - 在 macOS 上使用 Swift 3 从剪贴板读取

标签 swift macos swift3 nspasteboard

我是 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 3Swift 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

关于swift - 在 macOS 上使用 Swift 3 从剪贴板读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41452868/

相关文章:

iphone - 将路由器代码升级到 Alamofire 4.0 和 Swift 3

ios - SpriteKit - 背景图像被严重拉伸(stretch)

swift - 有没有办法更改一组按钮上的文本输入?

swift - NSData writeToFile 方法返回 true 但文件未写入磁盘

objective-c - 用于评估字符串的 NSPredicate

c - strtok_s 在 os x 上未定义

ios - 为什么 `NSUserDefaults`不允许存储自定义类的对象?

ios - 遵守 iOS 13 应用更新截止日期需要哪些更改

swift - 为什么局部变量的值没有在 try block 中初始化?

swift - 为什么我不在我的 firebase 数据库中的特定位置检索值并且只得到 nil?