IGListBatchUpdateData


@interface IGListBatchUpdateData : NSObject

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:].

  • Section insert indexes.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) NSIndexSet *_Nonnull insertSections;

    Swift

    var insertSections: IndexSet { get }
  • Section delete indexes.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic) NSIndexSet *_Nonnull deleteSections;

    Swift

    var deleteSections: IndexSet { get }
  • Section moves.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic)
        NSSet<IGListMoveIndex *> *_Nonnull moveSections;

    Swift

    var moveSections: Set
  • Item insert index paths.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic)
        NSArray<NSIndexPath *> *_Nonnull insertIndexPaths;

    Swift

    var insertIndexPaths: [IndexPath] { get }
  • Item delete index paths.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic)
        NSArray<NSIndexPath *> *_Nonnull deleteIndexPaths;

    Swift

    var deleteIndexPaths: [IndexPath] { get }
  • Item moves.

    Declaration

    Objective-C

    @property (readonly, strong, nonatomic)
        NSArray<IGListMoveIndexPath *> *_Nonnull moveIndexPaths;

    Swift

    var moveIndexPaths: [ListMoveIndexPath] { get }
  • Creates a new batch update object with section and item operations.

    Declaration

    Objective-C

    - (nonnull instancetype)
    initWithInsertSections:(nonnull NSIndexSet *)insertSections
            deleteSections:(nonnull NSIndexSet *)deleteSections
              moveSections:(nonnull NSSet<IGListMoveIndex *> *)moveSections
          insertIndexPaths:(nonnull NSArray<NSIndexPath *> *)insertIndexPaths
          deleteIndexPaths:(nonnull NSArray<NSIndexPath *> *)deleteIndexPaths
            moveIndexPaths:(nonnull NSArray<IGListMoveIndexPath *> *)moveIndexPaths;

    Swift

    init(insertSections: IndexSet, deleteSections: IndexSet, moveSections: Set

    Parameters

    insertSections

    Section indexes to insert.

    deleteSections

    Section indexes to delete.

    moveSections

    Section moves.

    insertIndexPaths

    Item index paths to insert.

    deleteIndexPaths

    Item index paths to delete.

    moveIndexPaths

    Item index paths to move.

    Return Value

    A new batch update object.