2017-02-23 15 views
0

私はXcodeバージョン8.2.1、swift3を使用していますが、AWSモバイルハブを使用してdynamoDBに接続しています。 dynamoDBObjectMapper.saveとdynamoDBObjectMapper.loadを使用してデータベースからアイテムを正常に格納したり取得したりできますが、クエリまたはスキャンコマンドを使用してアイテムを取得しようとするとエラーが発生します。iOS用DynamoDB(AWS)のスキャンまたはクエリの実行

dynamoDBObjectMapper.scan(Books.self, expression: scanExpression).continueWith(block: { (task:AWSTask<AnyObject>!) -> Any? in 
     if let error = task.error as? NSError { 
      print("The request failed. Error: \(error)") 
     } else if let paginatedOutput = task.result { 
      for book in paginatedOutput.items as! Books { 
       // Do something with book. 
      } 
     } 

     return() 

    }) 

次のようにエラーがある:タイプの引数リストで 'continueWith' を起動することはできません '(ブロック:!(AWSTask) - >どれ?')

プロジェクトがコンパイルに失敗します。この問題を解決するにはどうすればよいですか?いかなる援助も高く評価されます。

答えて

2
  1. scanは、AWSTask<AWSDynamoDBPaginatedOutput>オブジェクトを返します。 ブロックの引数リストに

  2. を正しいパラメータを使用してください型キャストが配列でない要素型

    objectMapper.scan(Book.self, expression: scanExpression).continueWith(block: { (task:AWSTask<AWSDynamoDBPaginatedOutput>!) -> Any? in 
        if let error = task.error as? NSError { 
         print("The request failed. Error: \(error)") 
        } else if let paginatedOutput = task.result { 
         for book in paginatedOutput.items as! [Book] { 
          // Do something with book. 
         } 
        } 
    
        return() 
    
    }) 
    
+0

がdonkonありがとうにする必要があり、それは理にかなっています!すべてうまくいきました;) – Sifiso

関連する問題