如何在swift中打开[NSPasteboardItem]?

时间:2016-01-18 01:42:51

标签: swift

我正试图在swift中从剪贴板中读取字符串:

let pasteBoard = NSPasteboard.generalPasteboard()
let o = pasteBoard.pasteboardItems[0].stringForType("public.utf8-plain-text")

出现此错误:

错误:可选类型'[NSPasteboardItem]的值?'没有打开;你的意思是用'!'还是'?'?

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

pasteboardItems是可选的。您必须先将打开,然后才能获取其索引:

let o = pasteBoard.pasteboardItems?[0] // ...

或者,如果您完全确定有项目:

let o = pasteBoard.pasteboardItems![0] // ...

然而,最好将其打包在if子句中,并且只有在nil不是if let items = pasteBoard.pasteboardItems? { let o = items[0] // ... } 时才会继续:

"acceptedResourceRoles": ["slave_public"]