问题标签 [performbatchupdates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
85 浏览

ios - 尝试从更新前仅包含 27 个项目的第 0 节中删除项目 30

*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试从第 0 节中删除第 30 项,更新前仅包含 27 个项目”

当集合视图重新加载我的应用程序崩溃时,我遇到了一个问题。我的代码逻辑是,我正在显示一些单元格,并且每 10 个单元格添加一个额外的广告单元格,我认为这里出现问题,因为重新加载集合视图时缺少索引路径。我已经用谷歌搜索并获得了一些关于我的崩溃问题的信息。其中一些是 performBatchUpdates:completion 的文档说明:

在批处理操作中,在插入之前处理删除。这意味着删除的索引是相对于批处理操作之前集合视图状态的索引进行处理的,而插入的索引是相对于批处理操作中所有删除之后的状态索引进行处理的。

我无法在我的代码中实现它。有人可以帮我吗?谢谢。

}

0 投票
1 回答
214 浏览

java - DynamoDB 中的批量更新

我需要在 java 中对 dynamo db 执行批量更新。通过更新我的意思是我有一个项目的主键并且想要更新该项目的单个属性。我首先尝试通过batchGetItem 获取项目,对其进行修改并执行batchWriteItem。甚至 dynamoDb 映射器的 batchSave 也不提供更新。我可以使用这种方法,但是有没有一种方法可以直接对项目执行批处理更新,而无需从数据库中获取整个项目?

0 投票
0 回答
148 浏览

yii2 - Yii2 Rest API 批量更新和过滤

  1. 我希望在我的 Yii2 Rest API 中实现批量插入和更新。

    对于单个记录更新,我使用 Rest API 调用作为

    https://xxxxxx.com/api/web/v1/contacts/update/1。它将更新 ID = 1 的记录

    但是现在我想用一个 API 调用更新多条记录。如何为此调用 API?

  2. 对于我正在使用的数据过滤

    https://xxxxxx.com/api/web/v1/contacts?filter[contact_name][like]=sa过滤联系人姓名。如果我想通过[1,2,3]中的ID之类的ID过滤数据,我该怎么做?

    请让我知道解决这两个挑战的方法。

    谢谢

0 投票
1 回答
896 浏览

arrays - CollectionView 错误:尝试将第 40 项插入第 0 节,但更新后第 0 节中只有 40 项

集合视图将显示 20 部电影的列表,如果用户滚动到最后一个项目,那么它将加载另外 20 个。起初我在将另外 20 个项目附加到电影数组后使用了 reloadData(),它可以工作。但我相信正确的做法是将insertItems() 插入collectionView,而不是每次都调用reloadData()。在我实现了 insertItems() 之后,就会出现错误。

这是与 CollectionView 相关的代码:

这是处理电影列表加载和附加的代码:

起初我不知道 insertItems() 必须在 performBatchUpdates() 内,但即使我这样做,错误仍然存​​在。可能是因为我实施不当。

错误总是:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将第 40 项插入第 0 节,但更新后第 0 节中只有 40 项”

也许任何人都可以友好地展示似乎是问题的部分?

0 投票
1 回答
36 浏览

ios - UICollectionview.performBatchUpdates 更新块不需要在捕获列表中显式使用 self

使用 collectionview.performBatchUpdates 时,该updates块不需要self像下图那样显式。

在此处输入图像描述

该方法的文档在这里。https://developer.apple.com/documentation/uikit/uicollectionview/1618045-performbatchupdates

我的猜测是,它performBatchUpdatesupdates块生命周期比 collectionView 短。并且该updates块称为 using withoutActuallyEscaping

有人有明确的答案吗?


答案很简单。因为它不是逃避封闭

0 投票
0 回答
134 浏览

swift - CollectionView PerformBatchUpdates BAD_ACCESS | iOS 15 | Xcode 13 测试版

我正在iOS 15 模拟器上的Xcode 13 beta 版本 5中测试我的应用程序。有一个集合视图在调用时会产生错误。该方法在较低版本(即:iOS 14.2)中运行良好。我试图通过方案诊断(地址清理程序、线程清理程序、僵尸对象等)捕获有关错误的更多信息,并仔细检查我是否在适当的情况下使用了弱关键字,但没有成功。EXC_BADACCESS (code=2, address=0x7ffee930ef38)performBatchUpdates

有没有其他人在 Xcode 13 中的 iOS 15 上测试过类似的问题?这可能只是一个测试版问题吗?这是一些示例代码:

0 投票
0 回答
30 浏览

ios - 批量更新后哪些 tableView 单元格可见?

我对如何处理批量更新中表视图行的移动感到困惑。
我有一个tableView在批量更新块中更新的:

在块内,必须处理删除、插入、更新和移动。
苹果文档

在批处理操作中,在插入之前处理删除。这意味着删除的索引是相对于批处理操作之前表视图状态的索引进行处理的,而插入的索引是相对于批处理操作中所有删除之后的状态索引进行处理的。

我假设移动和更新的索引与删除和插入完成后的状态有关,尽管没有明确说明。
就我而言,我必须在移动后配置一个表格视图单元格。但是有不同的情况需要考虑:

  1. 如果移动之前和之后移动的行可见,我可以使用 访问单元格let cell = tableView.cellForRow(at: IndexPath)并对其进行配置。但是要使用哪个索引路径:移动之前还是之后?
  2. 如果移动的行仅在移动之前可见,则无需对其进行配置。
  3. 如果移动的行仅在移动后可见,则还没有可以配置的单元格。

当然,我可以存储已删除、插入和移动的行,直到批量更新完成,如果插入或移动的行可见,则检查完成块,如果是,则配置其单元格。
这是正确的做法吗?

0 投票
0 回答
89 浏览

swift - 集合视图中的 PerformBatchUpdate 方法删除错误索引处的单元格

我正在使用 PerformBatchUpdate 删除单个 collectionView 单元格,问题是如果我尝试删除第一个单元格(第 0 行),它会成功删除它,但如果我再次尝试删除第一个单元格(更新的单元格位于第 1 行,现在在第 0 行)它删除当前位于第 1 行的单元格,而不是删除第 0 行的单元格。

注意 - 请仅使用 PerformBatchUpdate 提出答案。

我正在使用此代码

集合视图协议

删除单元格的代码

注意:- 如果我使用以下代码在 BatchUpdate 中重新加载集合视图,它工作正常,但我认为 PerformBatchUpdate 会自动执行此操作,不建议在批量更新中重新加载集合视图