菜鸟教程小白 发表于 2022-12-12 19:20:05

ios - AWS DynamoDB Objective C 中的递增数字属性


                                            <p><p>我正在努力增加已保存在我的 DynamoDB 表中的项目的数字属性值,我的代码当前是:</p>

<pre><code>      AWSDynamoDBUpdateItemInput *updateItemInput = ;
      updateItemInput.tableName = @&#34;Table&#34;;

      updateItemInput.key= @{
                               @&#34;KeyPropertyName&#34;:@&#34;KeyValue&#34;
                              };
      updateItemInput.updateExpression = @&#34;SET(counter = counter + :val)&#34;;
      updateItemInput.expressionAttributeValues =@{
                                                   @&#34;:val&#34;:@1
                                                   };
      AWSDynamoDB *dynamoDB = ;

      [
         continueWithBlock:^id(AWSTask *task) {
             if (task.error) {
               NSLog(@&#34;The request failed. Error: [%@]&#34;, task.error);
             }
             if (task.exception) {
               NSLog(@&#34;The request failed. Exception: [%@]&#34;, task.exception);
             }
             if (task.result) {
               //Do something with result.
             }
             return nil;
         }];
</code></pre>

<p>当我不注释掉 updateExpression 和 expressionAttributeValues 时,我的应用程序总是崩溃。当我创建我的项目类型的空实例时,我可以到达 block ,当我创建 AWSDynamoDBAttributeValue 的实例以传递 key 时,我会得到奇怪的结果。有什么建议么?我是否也错误地编写了我的 updateExpression?</p>

<p>我还将在另一个对象的数组/列表和字典/映射属性中添加更新和删除项目。这会有什么不同?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>有几件事。 <code>key</code>定义如下:</p>

<pre><code>@property (nonatomic, strong) NSDictionary&lt;NSString *, AWSDynamoDBAttributeValue *&gt; * _Nullable key;
</code></pre>

<p>您需要将 <code>@"KeyValue"</code> 替换为 <code>AWSDynamoDBAttributeValue</code> 的实例。</p>

<p><code>expressionAttributeValues</code>定义如下:</p>

<pre><code>@property (nonatomic, strong) NSDictionary&lt;NSString *, AWSDynamoDBAttributeValue *&gt; * _Nullable expressionAttributeValues;
</code></pre>

<p>您需要将 <code>@1</code> 替换为 <code>AWSDynamoDBAttributeValue</code> 的实例。</p>

<p>确保使用最新版本的适用于 iOS 的 AWS 开发工具包,以便您可以在头文件中看到泛型注释。它可以帮助您构建正确的请求对象。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - AWS DynamoDB Objective C 中的递增数字属性,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36488229/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36488229/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - AWS DynamoDB Objective C 中的递增数字属性