mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-06 06:58:26 +00:00
Summary: The standardized Meta copyright notice is "Copyright (c) Meta Platforms, Inc. and affiliates." and not "Copyright (c) Meta Platforms, Inc. and its affiliates." (Dropping the "its") This diff updates the copyright notice in each source file to the correct this. Reviewed By: willbailey Differential Revision: D44737667 fbshipit-source-id: 643bf36df76723e70d9d826c53cf8f29b8a0c8cc
93 lines
2.5 KiB
Objective-C
93 lines
2.5 KiB
Objective-C
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import "IGListMacros.h"
|
|
#import "IGListMoveIndex.h"
|
|
#import "IGListMoveIndexPath.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
An instance of `IGListBatchUpdateData` takes section indexes and item index paths
|
|
and performs cleanup on init in order to perform a crash-free
|
|
update via `-[UICollectionView performBatchUpdates:completion:]`.
|
|
*/
|
|
IGLK_SUBCLASSING_RESTRICTED
|
|
NS_SWIFT_NAME(ListBatchUpdateData)
|
|
@interface IGListBatchUpdateData : NSObject
|
|
|
|
/**
|
|
Section insert indexes.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSIndexSet *insertSections;
|
|
|
|
/**
|
|
Section delete indexes.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSIndexSet *deleteSections;
|
|
|
|
/**
|
|
Section moves.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSSet<IGListMoveIndex *> *moveSections;
|
|
|
|
/**
|
|
Item insert index paths.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSArray<NSIndexPath *> *insertIndexPaths;
|
|
|
|
/**
|
|
Item delete index paths.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSArray<NSIndexPath *> *deleteIndexPaths;
|
|
|
|
/**
|
|
Item update index paths.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSArray<NSIndexPath *> *updateIndexPaths;
|
|
|
|
/**
|
|
Item moves.
|
|
*/
|
|
@property (nonatomic, strong, readonly) NSArray<IGListMoveIndexPath *> *moveIndexPaths;
|
|
|
|
/**
|
|
Creates a new batch update object with section and item operations.
|
|
|
|
@param insertSections Section indexes to insert.
|
|
@param deleteSections Section indexes to delete.
|
|
@param moveSections Section moves.
|
|
@param insertIndexPaths Item index paths to insert.
|
|
@param deleteIndexPaths Item index paths to delete.
|
|
@param updateIndexPaths Item index paths to update.
|
|
@param moveIndexPaths Item index paths to move.
|
|
|
|
@return A new batch update object.
|
|
*/
|
|
- (instancetype)initWithInsertSections:(NSIndexSet *)insertSections
|
|
deleteSections:(NSIndexSet *)deleteSections
|
|
moveSections:(NSSet<IGListMoveIndex *> *)moveSections
|
|
insertIndexPaths:(NSArray<NSIndexPath *> *)insertIndexPaths
|
|
deleteIndexPaths:(NSArray<NSIndexPath *> *)deleteIndexPaths
|
|
updateIndexPaths:(NSArray<NSIndexPath *> *)updateIndexPaths
|
|
moveIndexPaths:(NSArray<IGListMoveIndexPath *> *)moveIndexPaths NS_DESIGNATED_INITIALIZER;
|
|
|
|
/**
|
|
:nodoc:
|
|
*/
|
|
- (instancetype)init NS_UNAVAILABLE;
|
|
|
|
/**
|
|
:nodoc:
|
|
*/
|
|
+ (instancetype)new NS_UNAVAILABLE;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|