如何修复此闭包语法错误:aka'Optional&lt;(可选<uiactivitytype>,Bool,可选<array <any>&gt;,可选<error>) - &gt; ()&GT;”

时间:2017-12-12 02:03:09

标签: swift closures syntax-error

我正在学习Ray Wenderlich。 我遇到了一个闭包语法错误。 我想知道Xcode提示的含义是什么?

Xcode报告如下:

  

/ Users /.../ FlickrPhotosViewController.swift:107:54:无法指定类型'() - &gt;的值()'键入'UIActivityViewControllerCompletionWithItemsHandler?' (又名'可选&lt;(可选,Bool,可选&gt;,可选) - &gt;()&gt;')

以下是代码:

let shareScreen = UIActivityViewController(activityItems: imageArray, applicationActivities: nil)
shareScreen.completionWithItemsHandler = { _ in
                self.sharing = false
}

需要说明。非常感谢提前。

1 个答案:

答案 0 :(得分:3)

期望您考虑四种返回类型,这在Ray Wenderlich课程中没有明确说明。由于这些类型不用于“共享”操作,因此可以使用_替换类型名称。这也可行:

shareScreen.completionWithItemsHandler = { (_, _, _, _) in
                self.sharing = false
            }