无法分配类型'(String?,Bool,[AnyObject]?,NSError?) - >()'的值

ste*_*gbu 1 ios swift swift3

在我更新Xcode版本8.0(8A218a)swift 3之后,我收到了这个错误

无法分配类型'(String?,Bool,[AnyObject]?,NSError?) - >()'的值来键入'UIActivityViewControllerCompletionWithItemsHandler?'

activityview.completionWithItemsHandler = {(activityType: String?, completed:Bool, returnedItems:[AnyObject]?, error: NSError?) in
            if !completed {
                print("cancelled")
                return
            }else{
                complele()
            }

        }
Run Code Online (Sandbox Code Playgroud)

我一直在关注这个不能分配类型'(String!,Bool,[AnyObject]!,NSError!) - > Void的值为UIActivityViewControllerCompletionWithItemsHandler类型的值吗?

但我仍然收到错误消息.

它在以前的版本7.3.1 swift 2中运行良好.

Nir*_*v D 6

使用UIActivityType而不是String, [Any]代替[AnyObject]Error不是NSError这样.

activityview.completionWithItemsHandler = {(activityType: UIActivityType?, completed:Bool, returnedItems:[Any]?, error: Error?) in
    if !completed {
        print("cancelled")
        return
    }else{
        complele()
    }
}
Run Code Online (Sandbox Code Playgroud)

查看Apple文档了解更多详细信息.