0
次の関数を記述しましたが、戻り値に問題があります。DynamoDBスキャン:正しい値を返しません
私のコンソールには、AWSのdynamoDBから取得した結果が表示され、表示することもできます。ご覧のとおり、私は項目変数を印刷しています。
私の関数で配列をインスタンス化し、AWSから引き出された各項目をそれに追加しますが、nilを返します。
あなたは私のコードのおかげで何が恋しいのか見てください。
func scanClientList(_ startFromBeginning: Bool) -> [Client]{
var clients = [Client]()
UIApplication.shared.isNetworkActivityIndicatorVisible = true
let dynamoDBObjectMapper = AWSDynamoDBObjectMapper.default()
let queryExpression = AWSDynamoDBScanExpression()
//queryExpression.exclusiveStartKey = self.userId
queryExpression.limit = 20
dynamoDBObjectMapper.scan(Client.self, expression: queryExpression).continueWith(executor: AWSExecutor.mainThread(), block: { (task:AWSTask!) -> AnyObject! in
if let paginatedOutput = task.result {
for item in paginatedOutput.items as! [Client] {
print("ITEMS: \(item)")
clients.append(item)
}
if paginatedOutput.lastEvaluatedKey == nil {
}
}
UIApplication.shared.isNetworkActivityIndicatorVisible = false
if let error = task.error as? NSError {
print("Error: \(error)")
}
return nil
})
return clients
}