2017-02-23 47 views
0

我正在使用Xcode Version 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