我的项目中有以下几行代码...
@IBAction func shareMeme(sender: UIBarButtonItem) {
let newMeme = save()
let memedImage = newMeme.memedImage
let activityViewController = UIActivityViewController(activityItems: [memedImage], applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: nil)
activityViewController.completionWithItemsHandler = {(type: String!, completed: Bool, returnedItems: [AnyObject]!, error: NSError!) -> Void in
dispatch_async(dispatch_get_main_queue()){
self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
}
}
}
我不断收到编译器错误“无法将类型为‘(String!, Bool, [AnyObject]!, NSError!) -> Void’的值分配给类型为‘UIActivityViewControllerCompletionWithItemsHandler?’的值?”引用以下行代码...
activityViewController.completionWithItemsHandler = {(type: String!, completed: Bool, returnedItems: [AnyObject]!, error: NSError!) -> Void in
如有任何建议,我们将不胜感激。
最佳答案
您的类型签名与 UIActivityViewControllerCompletionWithItemsHandler
的定义不匹配,即 (String?, Bool, [AnyObject]?, NSError?) -> Void
。将您的 !
替换为 ?
,它应该可以正常工作。
关于ios - 无法分配类型为 '(String!, Bool, [AnyObject]!, NSError!)->Void to a value of type UIActivityViewControllerCompletionWithItemsHandler?' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32598745/