无法转换类型的值

时间:2016-10-03 11:57:56

标签: ios swift3 xcode8 cloudinary

在我的项目中,我使用Cloudinary,而我在Xcode 7.3中使用以下函数它工作正常但是在Xcode 8中我得到了错误。

  

(无法将类型的值([AnyHashable:Any]!,String!,Int!,AnyObject) - >()转换为预期的参数类型(CLUploaderCompletion)。

如何解决此错误。

uploader.upload(forUpload, options: nil, withCompletion:onCloudinaryCompletion, andProgress:onCloudinaryProgress)


func onCloudinaryCompletion(_ successResult:[AnyHashable: Any]!, errorResult:String!, code:Int, idContext:AnyObject!) {
    print("successResult\(successResult)")
}

func onCloudinaryProgress(_ bytesWritten:Int, totalBytesWritten:Int, totalBytesExpectedToWrite:Int, idContext:AnyObject!) {        
    print("onCloudinaryProgress")

}
错误的

屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:0)

在swift 3中,有些内容发生了变化,其中一个原因是来自客观c的id现在是Any,而不是AnyObject。将您的idContext更改为Any

此外,您还必须将字典类型和字符串更改为可选字符串。因此它变为String?[AnyHashable: Any]?