2016-02-13 89 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 - >错误