performBatchUpdates中的reloadData:completion:不调用cellForItemAtIndexPath:

时间:2014-08-05 08:52:15

标签: ios uicollectionview

当我注意到这段代码时,我正在玩UITableView

[self performBatchUpdates:^{
    [self reloadData];
} completion:^(BOOL finished) {}];

不会导致cellForItemAtIndexPath:被调用,只会调用sizeForItemAtIndexPath的{​​{1}}。

有人知道为什么会这样吗?

我确切地知道UICollectionViewFlowLayout中发生了什么,但这与此不同。

1 个答案:

答案 0 :(得分:1)

来自OSError: Passed non-file path: s3://mybucket/path/to/myfile的文档:“不应在插入或删除行的方法中调用它,尤其是在通过调用beginUpdates和endUpdates实现的动画块中。”也许这也适用于reloadData