2016-10-04 118 views
0

我有点困惑如何使用斯威夫特3.以前完成处理,在雨燕2.2,我有这样的代码:CompletionHandler斯威夫特3

transferUtility.uploadFile(tmpFileURL, bucket: bucket, key: key, contentType: contentType, expression: nil, completionHander: { (task, error) in 
        self.uploadCompletionHandler(task, transferError: error) 
}) 

我如何端口这斯威夫特3?

我得到一个错误,指出Cannot convert value of type '(AWSS3TransferUtilityUploadTask, NSError) ->()' to expected argument type 'AWSS3TransferUtilityUploadCompletionHandlerBlock?'

有谁知道什么地方出错了?

回答

0

检查AWSS3TransferUtilityUploadCompletionHandlerBlock的签名,现在Swift 3不允许自动类型转换。 Swift 3不允许你用不同的签名来定义completionBlock,请检查? and !

+0

它是'FUNC uploadFile开(_ fileURL:URL,桶:字符串,键:字符串,则contentType:字符串,表达式:AWSS3TransferUtilityUploadExpression ?, completionHander completionHandler:AWSS3.AWSS3TransferUtilityUploadCompletionHandlerBlock =无) - > AWSTask ' – hockeybro

+0

这里是'AWS3TransferUtilityUploadCompletionHandlerBlock':'公开的typealias AWSS3TransferUtilityUploadCompletionHandlerBlock =(AWSS3TransferUtilityUploadTask,Error?) - > Swift.Void ' – hockeybro

+0

'尝试'(任务,错误?)' –