私のSwiftで書かれたiOSアプリケーションでは、DynamoDBサービスが接続されています。 HomeViewController
でDynamoDBアイテムの属性の一部はnilです
私は1つ私のDynamoDBのアカウントでテーブルをスキャンするんだ、と私はそれが働いたかどうかを確認するために、結果を印刷しています:
let scanExpression = AWSDynamoDBScanExpression()
scanExpression.filterExpression = "begins_with (id, :id)"
scanExpression.expressionAttributeValues = [":id": GlobalVars.id]
GlobalVars.dynamoDBObjectMapper.scan(Item.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 item in paginatedOutput.items as! [Item] {
print("items", item)
GlobalVars.items += [item]
print("items array:", GlobalVars.items)
}
GlobalVars.numberOfItems = paginatedOutput.items.count
}
return()
})
for-in
ループ内のすべての時間は、それがアイテムを印刷し、それテーブルから手に入れました。各項目には7つの属性がありますが、印刷する際には4つの属性しか表示されません。私は3つの他のもの(フロート、フロート、ブール)なしで、文字列属性のみを参照してください。
私がスキャンで取得したアイテムの1つからFloat属性を取得しようとしているとき、私はnil
を取得します。
文字列しか取得できないようです。
tableView(cellForRowAt:)
上
TableViewController
で
I持っているアイテムから属性を取得し、このコード:私は文字列型であるname
属性を取得することができるんだけど、私はprice
を取得することはできませんよ
let item: Item = items[indexPath.row]
let name: String = item.name!
cell.itemNameLabel.text = name
let priceFloat: Float = item.price!
let price: String = priceFloat.description
cell.itemPriceLabel.text = price
属性は浮動小数点型です。
この問題を解決し、スキャンを使用してDynamoDBテーブルからFloat属性とBoolean属性を取得するにはどうすればよいですか?