2017-03-21 5 views
1

AWTransferutilityを使用してSwiftで写真をアップロードしようとすると、このエラーが発生します。メンバーasyncへのあいまいな参照(実行:)同様の質問を検索しましたが、解決策が見つかりませんでした。メンバasyncへの曖昧な参照が完了ブロック内で実行されるAWS S3 Swift 3

func uploadS3Background (dict: NSMutableDictionary) { 

    let transferUtility = AWSS3TransferUtility.default() 
    let expression = AWSS3TransferUtilityUploadExpression() 


    let completionHandler = { (task, error) -> Void in 

     DispatchQueue.main.async(execute: { 

     }) 
    } 

    transferUtility.uploadFile(URL(fileURLWithPath: dict.object(forKey: "url") as! String), 
    bucket: "bucketname/images", 
    key: (dict.object(forKey: "filename") as! String), 
    contentType: "image/png", 
    expression: expression, 
    completionHandler).continueWith { (task) -> AnyObject! in 

     if let error = task.error 
     { 
      print("Error: \(error.localizedDescription)") 
     } 

     if let _ = task.result 
     { 
      // Do something with uploadTask. 
     } 

     return nil; 
    } 
} 

完了ブロックの外では、メインキューでのディスパッチでエラーが発生しません。

enter image description here

答えて

4

あなたのビューコントローラでこれを宣言 - それから

var completionHandler: AWSS3TransferUtilityUploadCompletionHandlerBlock? 

self.completionHandler = { (task, error) -> Void in 
      DispatchQueue.main.async(execute: { 

     }) 
} 
を使用
関連する問題