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

- `insertSections`

  Section insert indexes.

  #### Declaration

  Objective-C

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

  Swift

      var insertSections: IndexSet { get }

- `deleteSections`

  Section delete indexes.

  #### Declaration

  Objective-C

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

  Swift

      var deleteSections: IndexSet { get }

- `moveSections`

  section moves.

  #### Declaration

  Objective-C

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

  Swift

      var moveSections: Set

- `insertIndexPaths`

  Item insert index paths.

  #### Declaration

  Objective-C

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

  Swift

      var insertIndexPaths: Set

- `deleteIndexPaths`

  Item delete index paths.

  #### Declaration

  Objective-C

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

  Swift

      var deleteIndexPaths: Set

- `reloadIndexPaths`

  Item reload index paths.

  #### Declaration

  Objective-C

      @property (readonly, strong, nonatomic)
          NSSet<NSIndexPath *> *_Nonnull reloadIndexPaths;

  Swift

      var reloadIndexPaths: Set

- `-initWithInsertSections:deleteSections:moveSections:insertIndexPaths:deleteIndexPaths:reloadIndexPaths:`

  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 NSSet<NSIndexPath *> *)insertIndexPaths
            deleteIndexPaths:(nonnull NSSet<NSIndexPath *> *)deleteIndexPaths
            reloadIndexPaths:(nonnull NSSet<NSIndexPath *> *)reloadIndexPaths;

  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.
  `reloadIndexPaths` | Item index paths to reload.

  #### Return Value

  A new batch update object.

© 2017 Instagram. All rights reserved. (Last updated: 2017-01-04)

Generated by jazzy ♪♫ v0.7.3, a Realm project.