2016-10-09 1 views
0

は、このコードセグメントは、私が言うラインSwift 3でBFTaskを使用するにはどうすればよいですか?

//collect view info  
self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continueWithBlock({ 

にエラーが発生しますスウィフト3で今

override func prepare(for segue: UIStoryboardSegue?, sender: Any?) { 
    if (segue!.identifier == "FeedDetailSeg") { 
     let viewController:ItemDetail = segue!.destination as! ItemDetail 

     viewController.DetailItem = collectionItems![self.selectedRow] 

     if self.cognitoID == collectionItems![self.selectedRow].seller { 
      viewController.owned = true 
     } 
     else { 
      viewController.owned = false 
     } 

     //remove item from untapped 
     //appDelegate.untapped.removeAtIndex(self.selectedRow) 

     //collect view info 
     self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continueWithBlock({ 
      (task: BFTask!) -> BFTask! in 

      if (task.error != nil) { 
       print(task.error!.description) 
      } else { 
       print("DynamoDB save succeeded") 
      } 

      return nil; 
     }) 

    } 
} 

スウィフト2に完全に働いた:(」 は、型の値を変換できませんBFTask < _> !) - > BFTask! '期待される引数型 '(BFTask?) - > Any ?!'

これは、AWSを使用して項目をDynamoDBに保存しています。

+0

Swift 3のインストールを更新しましたか? https://github.com/BoltsFramework/Bolts-Swift – Adrian

答えて

0

変更Any?の代わりに、このようなBFTask?への戻り値の型、

//collect view info 
    self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continueWithBlock({ 
     (task: BFTask!) -> Any! in 

     if (task.error != nil) { 
      print(task.error!.description) 
     } else { 
      print("DynamoDB save succeeded") 
     } 

     return nil; 
    }) 

感謝:)

0

スウィフト3.1構文に更新)

あなたself.dataStashタスクは、のために型を指定します一般的なBFTaskは角かっこで示しています。さんがあなたのself.dataStashのタイプがあると仮定しよう:

var dataStash : BFTask<MyObject>! 

そして、あなたがdataStashタスクの完了時に呼び出されるコードを変更する必要があります。

:特にあなたが BFTask戻り値の型を指定することができ、あなたのチェーンタスクで

self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continue({ (task: BFTask<MyObject>!) -> Any? in 

continue({ (task: BFTask<MyObject>!) -> BFTask<MyDifferentObject>? in 

MyObjectおよびMyDifferentObjectは、AnyObjectプロトコル。

関連する問題