IGListKit icon indicating copy to clipboard operation
IGListKit copied to clipboard

Directions needed to debug UICollectionView scroll stopping when `performUpdates` is called

Open attheodo opened this issue 5 years ago • 0 comments

New issue checklist

  • [ X] I have reviewed the README and documentation
  • [ X] I have searched existing issues and this is not a duplicate
  • [ ] I have attempted to reproduce the issue and include an example project.

General information

  • IGListKit version: 3.4.0
  • iOS version(s): 13.x
  • CocoaPods version: 1.8.4
  • Xcode version: 11.2.1
  • Devices/Simulators affected:
  • Reproducible in the demo project? (Yes/No): No

I am currently experiencing an issue where as the user scrolls an IGListKit powered UICollectionView, the scrolling abruptly stops when listAdapter.performUpdates(:) gets called.

Without getting into too much detail, the ListAdapterDataSource is checking an Interstellar-powered observable property's value for the collection view objects. The view controller that hosts the ListAdapter is also subscribing to this property and issues a performUpdates(:) when the value changes.

I am utilizing scrollViewWillEndDragging(:) similarly to the IGListKit Examples, to trigger a page-fetch network operations when the user approaches the end of the list. That operation updates the observable property with the latest items when it finishes.

My problem is that in the exact same moment where the network operation finishes and updates the observable property (thus triggering a performUpdates(:)), the scrolling stops to a halt. This happens even if the old objects dataset is exactly as the new one (confirmed with manually diffing) when the are no more results/pages to fetch,

Any suggestions on how to debug this? Maybe a certain symbolic breakpoint on some method that could indicate what causes the UICollectionView's scrolling to stop?

attheodo avatar Nov 08 '19 18:11 attheodo