【问题标题】:Cannot assign value of type '(String?, Bool, [AnyObject]?, NSError?) -> ()' to无法将 '(String?, Bool, [AnyObject]?, NSError?) -> ()' 类型的值分配给
【发布时间】:2016-09-15 01:19:22
【问题描述】:

在我更新 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()
            }

        }

我一直在关注这个Cannot assign a value of type '(String!, Bool, [AnyObject]!, NSError!)->Void to a value of type UIActivityViewControllerCompletionWithItemsHandler?'

但我仍然收到错误消息。

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

【问题讨论】:

    标签: ios swift swift3


    【解决方案1】:

    像这样使用UIActivityType 代替String, [Any] 代替[AnyObject]Error 代替NSError

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

    查看apple documentation了解更多详情。

    【讨论】:

    • 仍然收到错误消息:无法将类型 '(String?, Bool, [Any]?, Error?) -> ()' 的值分配给类型 'UIActivityViewControllerCompletionWithItemsHandler?'
    • 谢谢你拯救我的一天:D
    • 欢迎朋友,快乐编码:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多