Closed rqueue closed 3 years ago
LGTM!
Not a blocking issue, but would it be possible to verify if the issue also occurs on ASTableView (perhaps by porting your new unit test), and if yes, address it in a follow up PR?
Good call. I'll test that out and create a follow up PR if it's an issue
…on changeset updates
This experiment makes sure a ASCollectionView's
rangeController
updates when a changeset WITH updates is applied. Currently it is possible for nodes inserted into the preload range to not get preloaded when performing a batch update.For example, suppose a collection node has:
Nodes A and B where A is visible and B is off screen.
Currently if node B is deleted and a new node C is inserted in its place, node C will not get preloaded until the collection node is scrolled. This is because the preloading mechanism relies on a
setNeedsUpdate
call on the range controller as part of the-collectionView:willDisplayCell:forItemAtIndexPath:
delegate method when the batch update is submitted. However, in the example outlined above, this sometimes doesn't happen automtically, causing the range update to be delayed until the next the view scrolls.