ios - 无法分配类型为 '(String!, Bool, [AnyObject]!, NSError!)->Void to a value of type UIActivityViewControllerCompletionWithItemsHandler?' 的值

标签 ios swift uiviewcontroller

我的项目中有以下几行代码...

@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/

相关文章:

ios - swift - 将 subview 添加到段控件会导致无效行为

html - 没有带有 SWIFT 3 的 html 标签的单元格不显示更新的 JSON

swift - NSSegmentedControl 操作未触发

ios - 将数据从自定义表格 View 单元格获取到另一个 VC?

iphone - 你能确定你在 iOS 上连接的网络是否启用了 Wifi 安全吗?

ios - 为什么在 iOS 中使用 NSUserDefaults?

ios - 在 iOS 中单击按钮启动不同的 ViewControllers

ios - 如何在 UICollectionViewSectionHeader 中嵌入 UICollectionView

iOS 我可以将所有委托(delegate)方法放在另一个类上吗?将委托(delegate)继承到 View Controller 中

ios - ios 动画出现闪烁问题