advanced patterns with UICollectionViewLayoutInvalidate in iOS 16 causing flickering during item updates
I've searched everywhere and can't find a clear answer. I'm experiencing an scenario with my `UICollectionView` when trying to update the items in the collection. After modifying the underlying data source and calling `collectionView.reloadData()`, I notice some flickering on the screen, especially when using custom layouts. To update the items, Iโm using the following code snippet: ```swift self.items.append(newItem) self.collectionView.performBatchUpdates({ self.collectionView.insertItems(at: [IndexPath(item: self.items.count - 1, section: 0)]) }, completion: nil) ``` However, when the `performBatchUpdates` is called, I see a noticeable flicker where the cells appear to be rendered and then immediately disappear before being redrawn. Iโve also tried calling `collectionView.layoutIfNeeded()` after the updates, but that didnโt help. Iโve checked the console for any warnings or errors and noticed a warning that says: `UICollectionView: Invalid index path: <NSIndexPath: 0xe0>`, which points to an scenario with the index path used for item insertion. Despite ensuring that the index paths are valid, I still see the flicker. Additionally, I've attempted to implement `invalidateLayout()` on my custom layout subclass, but it seems to exacerbate the flickering instead of resolving it. Hereโs the relevant method from my custom layout: ```swift override func invalidateLayout() { super.invalidateLayout() self.collectionView?.visibleCells.forEach { cell in if let customCell = cell as? MyCustomCell { customCell.prepareForReuse() } } } ``` Does anyone have insights into why this flickering occurs and how I might resolve it while updating the collection view in iOS 16? Any best practices for managing updates in `UICollectionView` effectively would be greatly appreciated. Any ideas what could be causing this?