mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-24 09:48:21 +00:00
Summary: Another source-of-truth inconsistency issue. I kept getting this assertion T65423827 task. It turned out the the root cause is that we use the `_viewSectionControllerMap` to keep track of the mapping between view and section controller. Which is dangerous. Because the UICV's source of truth is the `sectionMap`, now we are adding another source of truth between view <-> sectionController to be `_viewSectionControllerMap`, this is just waiting for bugs to happen. We should always refers to sectionMap as the source of truth for everything here: since we can get the section index, we can replace all the `-sectionControllerForView` to use `-sectionControllerForSection:` instead, which is safer. Multiple source of truth is the bug for this unexpected assertion. Once we can cleanup this, then we dont need to use that weird: `- (void)mapView:(UICollectionReusableView *)view toSectionController:(IGListSectionController *)sectionController` API which we might forget to map, that can cause bug. Reviewed By: elfredpagan Differential Revision: D24173911 fbshipit-source-id: 6138cafc0b382fc569d17b14b13a6b50d85d342d |
||
|---|---|---|
| .. | ||
| Internal | ||
| IGListAssert.h | ||
| IGListBatchUpdateData.h | ||
| IGListBatchUpdateData.mm | ||
| IGListCompatibility.h | ||
| IGListDiff.h | ||
| IGListDiff.mm | ||
| IGListDiffable.h | ||
| IGListDiffKit.h | ||
| IGListExperiments.h | ||
| IGListIndexPathResult.h | ||
| IGListIndexPathResult.m | ||
| IGListIndexSetResult.h | ||
| IGListIndexSetResult.m | ||
| IGListMacros.h | ||
| IGListMoveIndex.h | ||
| IGListMoveIndex.m | ||
| IGListMoveIndexPath.h | ||
| IGListMoveIndexPath.m | ||
| NSNumber+IGListDiffable.h | ||
| NSNumber+IGListDiffable.m | ||
| NSString+IGListDiffable.h | ||
| NSString+IGListDiffable.m | ||