我有遞增已保存在我的桌子上DynamoDB我的代碼目前是一個項目的一些屬性值掙扎:在AWS DynamoDB目標C遞增的數字房產
AWSDynamoDBUpdateItemInput *updateItemInput = [AWSDynamoDBUpdateItemInput new];
updateItemInput.tableName = @"Table";
updateItemInput.key= @{
@"KeyPropertyName":@"KeyValue"
};
updateItemInput.updateExpression = @"SET(counter = counter + :val)";
updateItemInput.expressionAttributeValues [email protected]{
@":val":@1
};
AWSDynamoDB *dynamoDB = [AWSDynamoDB defaultDynamoDB];
[[dynamoDB updateItem:updateItemInput]
continueWithBlock:^id(AWSTask *task) {
if (task.error) {
NSLog(@"The request failed. Error: [%@]", task.error);
}
if (task.exception) {
NSLog(@"The request failed. Exception: [%@]", task.exception);
}
if (task.result) {
//Do something with result.
}
return nil;
}];
當我不我的應用程序總是崩潰註釋掉updateExpression和expressionAttributeValues。當我創建一個空項目類型的實例並獲得奇怪的結果時,我可以到達該塊,當我創建一個AWSDynamoDBAttributeValue實例來傳入密鑰時。有什麼建議麼?我也不正確地寫我的updateExpression?
我也將添加更新和刪除其他對象上的數組/列表和字典/地圖屬性中的項目。這有什麼不同?
它如何崩潰?你得到了什麼確切的錯誤信息? –
是的,更新表達式應該沒有pamentalhesis,並且您可能必須參數化屬性名稱 –
***終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:'+ [__ NSCFNumber JSONKeyPathsByPropertyKey]:無法識別的選擇器發送到class 0x113d10368' – csweeney285