2016-10-04 3 views
0

は、スウィフト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

それは 'uploadFile FUNC開いている(_ fileURL:URL、バケット:文字列、キー:文字列、のcontentType:文字列、表現:AWSS3TransferUtilityUploadExpression ?, completionHander completionHandler:?AWSS3.AWSS3TransferUtilityUploadCompletionHandlerBlock = NIL) - > AWSTask ' – hockeybro

+0

そして、ここで 'AWS3TransferUtilityUploadCompletionHandlerBlock'です:'パブリックtypealias AWSS3TransferUtilityUploadCompletionHandlerBlock =(AWSS3TransferUtilityUploadTask、エラー?) - > Swift.Void ' – hockeybro

+0

てみ'(タスク、エラー?) ' –