2016-02-13 86 views
2

我是Swift新手!所以我建立在斯威夫特的行動延伸和錯誤出現Swift Action擴展NSString錯誤?

itemProvider.loadItemForTypeIdentifier(kUTTypePropertyList as NSString, options: nil, completionHandler: { [unowned self] (result: NSSecureCoding!, error: NSError!) -> Void in 

的錯誤似乎是NSString的。錯誤讀取:

「的NSString」不是簡單轉換爲「字符串」:你的意思是使用「爲」明確轉換

我改變它的NSString

kUTTypePropertyList as String 

我得到另一個錯誤說:

無法將類型'(NSSecureCoding!,NSError!) - > Void的值轉換爲期望的參數類型'NSItemProviderCompletionHandler?'

我該如何解決這個錯誤?謝謝!

回答

4

根據文檔,NSItemProviderCompletionHandler定義爲(NSSecureCoding?, NSError!) -> Void,但您已使用(NSSecureCoding!, NSError!) -> Void

result上,只需將!更改爲?即可。

+0

它可以除去的誤差(NSSecureCoding ?,錯誤!)!謝謝! @jtbandes – Liz

0

如果您使用的是swift 3語法。它改變到:

typealias CompletionHandler = - >空隙

NSError - >錯誤