From d8d2524b89b07bb683dd0b968136b28f611550b7 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Thu, 23 Jun 2016 17:28:22 -0700 Subject: [PATCH] One more critical update integrity fix --- AsyncDisplayKit/Details/NSIndexSet+ASHelpers.h | 4 ++-- AsyncDisplayKit/Details/NSIndexSet+ASHelpers.m | 4 ++-- AsyncDisplayKit/Private/_ASHierarchyChangeSet.m | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.h b/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.h index 54e9ac0126..179e685639 100644 --- a/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.h +++ b/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.h @@ -17,8 +17,8 @@ /// Returns all the item indexes from the given index paths that are in the given section. + (NSIndexSet *)as_indexSetFromIndexPaths:(NSArray *)indexPaths inSection:(NSUInteger)section; -/// If you've got an old index, and you insert items using this index set, this returns the new index. -- (NSUInteger)as_indexByInsertingItemsBelowIndex:(NSUInteger)index; +/// If you've got an old index, and you insert items using this index set, this returns the change to get to the new index. +- (NSUInteger)as_indexChangeByInsertingItemsBelowIndex:(NSUInteger)index; - (NSString *)as_smallDescription; diff --git a/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.m b/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.m index feac7ec8d0..0837ad0eaa 100644 --- a/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.m +++ b/AsyncDisplayKit/Details/NSIndexSet+ASHelpers.m @@ -46,7 +46,7 @@ return result; } -- (NSUInteger)as_indexByInsertingItemsBelowIndex:(NSUInteger)index +- (NSUInteger)as_indexChangeByInsertingItemsBelowIndex:(NSUInteger)index { __block NSUInteger newIndex = index; [self enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) { @@ -56,7 +56,7 @@ *stop = YES; } }]; - return newIndex; + return newIndex - index; } - (NSString *)as_smallDescription diff --git a/AsyncDisplayKit/Private/_ASHierarchyChangeSet.m b/AsyncDisplayKit/Private/_ASHierarchyChangeSet.m index 0b2137fe75..e7218f6d23 100644 --- a/AsyncDisplayKit/Private/_ASHierarchyChangeSet.m +++ b/AsyncDisplayKit/Private/_ASHierarchyChangeSet.m @@ -139,7 +139,7 @@ NSString *NSStringFromASHierarchyChangeType(_ASHierarchyChangeType changeType) } NSUInteger newIndex = oldSection - [_deletedSections countOfIndexesInRange:NSMakeRange(0, oldSection)]; - newIndex = [_insertedSections as_indexByInsertingItemsBelowIndex:newIndex]; + newIndex += [_insertedSections as_indexChangeByInsertingItemsBelowIndex:newIndex]; return newIndex; } @@ -276,7 +276,7 @@ NSString *NSStringFromASHierarchyChangeType(_ASHierarchyChangeType changeType) item -= [indicesDeletedInSection countOfIndexesInRange:NSMakeRange(0, item)]; // Update row number based on insertions that are above the current row in the future section NSIndexSet *indicesInsertedInSection = insertedIndexPathsMap[@(section)]; - item = [indicesInsertedInSection as_indexByInsertingItemsBelowIndex:item]; + item += [indicesInsertedInSection as_indexChangeByInsertingItemsBelowIndex:item]; //TODO: reuse the old indexPath object if section and row aren't changed NSIndexPath *newIndexPath = [NSIndexPath indexPathForItem:item inSection:section];