# IGListAdapterPerformanceDelegate Protocol Reference

# IGListAdapterPerformanceDelegate

    @protocol IGListAdapterPerformanceDelegate <NSObject>

`IGListAdapterPerformanceDelegate` can be used to measure cell dequeue, display, size, and scroll callbacks.

- `-listAdapterWillCallDequeueCell:`

  Will call `-[IGListAdapter collectionView:cellForItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapterWillCallDequeueCell:(nonnull IGListAdapter *)listAdapter;

  Swift

      func listAdapterWillCallDequeueCell(_ listAdapter: IGListAdapter)

  #### Parameters

  `listAdapter` | The list adapter sending this information.

- `-listAdapter:didCallDequeueCell:onSectionController:atIndex:`

  Did finish calling `-[IGListAdapter collectionView:cellForItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapter:(nonnull IGListAdapter *)listAdapter
           didCallDequeueCell:(nonnull UICollectionViewCell *)cell
          onSectionController:(nonnull IGListSectionController *)sectionController
                      atIndex:(NSInteger)index;

  Swift

      func listAdapter(_ listAdapter: IGListAdapter, didCallDequeueCell cell: Any!, on sectionController: IGListSectionController, at index: Int)

  #### Parameters

  `listAdapter` | The list adapter sending this information.
  `cell` | A cell that was dequeued.
  `sectionController` | The section controller providing the cell.
  `index` | Item index of the cell.

- `-listAdapterWillCallDisplayCell:`

  Will call `-[IGListAdapter collectionView:willDisplayCell:forItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapterWillCallDisplayCell:(nonnull IGListAdapter *)listAdapter;

  Swift

      func listAdapterWillCallDisplayCell(_ listAdapter: IGListAdapter)

  #### Parameters

  `listAdapter` | The list adapter sending this information.

- `-listAdapter:didCallDisplayCell:onSectionController:atIndex:`

  Did finish calling `-[IGListAdapter collectionView:willDisplayCell:forItemAtIndexPath:]`.

  Note

  Keep in mind this also includes calling the `IGListAdapter`‘s collectionViewDelegate and workingRangeHandler.

  #### Declaration

  Objective-C

      - (void)listAdapter:(nonnull IGListAdapter *)listAdapter
           didCallDisplayCell:(nonnull UICollectionViewCell *)cell
          onSectionController:(nonnull IGListSectionController *)sectionController
                      atIndex:(NSInteger)index;

  Swift

      func listAdapter(_ listAdapter: IGListAdapter, didCallDisplayCell cell: Any!, on sectionController: IGListSectionController, at index: Int)

  #### Parameters

  `listAdapter` | The list adapter sending this information.
  `cell` | A cell that will be displayed.
  `sectionController` | The section controller for that cell.
  `index` | Item index of the cell.

- `-listAdapterWillCallEndDisplayCell:`

  Will call `-[IGListAdapter collectionView:didEndDisplayingCell:forItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapterWillCallEndDisplayCell:(nonnull IGListAdapter *)listAdapter;

  Swift

      func listAdapterWillCallEndDisplayCell(_ listAdapter: IGListAdapter)

  #### Parameters

  `listAdapter` | The list adapter sending this information.

- `-listAdapter:didCallEndDisplayCell:onSectionController:atIndex:`

  Did finish calling `-[IGListAdapter collectionView:didEndDisplayingCell:forItemAtIndexPath:]`.

  Note

  Keep in mind this also includes calling the `IGListAdapter`‘s collectionViewDelegate and workingRangeHandler.

  #### Declaration

  Objective-C

      - (void)listAdapter:(nonnull IGListAdapter *)listAdapter
          didCallEndDisplayCell:(nonnull UICollectionViewCell *)cell
            onSectionController:(nonnull IGListSectionController *)sectionController
                        atIndex:(NSInteger)index;

  Swift

      func listAdapter(_ listAdapter: IGListAdapter, didCallEndDisplayCell cell: Any!, on sectionController: IGListSectionController, at index: Int)

  #### Parameters

  `listAdapter` | The list adapter sending this information.
  `cell` | A cell that was displayed.
  `sectionController` | The section controller for that cell.
  `index` | Item index of the cell.

- `-listAdapterWillCallSize:`

  Will call `-[IGListAdapter collectionView:collectionViewLayout:sizeForItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapterWillCallSize:(nonnull IGListAdapter *)listAdapter;

  Swift

      func listAdapterWillCallSize(_ listAdapter: IGListAdapter)

  #### Parameters

  `listAdapter` | The list adapter sending this information.

- `-listAdapter:didCallSizeOnSectionController:atIndex:`

  Did finish calling `-[IGListAdapter collectionView:collectionViewLayout:sizeForItemAtIndexPath:]`.

  #### Declaration

  Objective-C

      - (void)listAdapter:(nonnull IGListAdapter *)listAdapter
          didCallSizeOnSectionController:
              (nonnull IGListSectionController *)sectionController
                                 atIndex:(NSInteger)index;

  Swift

      func listAdapter(_ listAdapter: IGListAdapter, didCallSizeOn sectionController: IGListSectionController, at index: Int)

  #### Parameters

  `listAdapter` | The list adapter sending this information.
  `sectionController` | The section controller providing the size.
  `index` | Item index used to calculate the size.

- `-listAdapterWillCallScroll:`

  Will call `-[IGListAdapter scrollViewDidScroll:]`.

  #### Declaration

  Objective-C

      - (void)listAdapterWillCallScroll:(nonnull IGListAdapter *)listAdapter;

  Swift

      func listAdapterWillCallScroll(_ listAdapter: IGListAdapter)

  #### Parameters

  `listAdapter` | The list adapter sending this information.

- `-listAdapter:didCallScroll:`

  Did finish calling `-[IGListAdapter scrollViewDidScroll:]`.

  Note

  Keep in mind this also includes calling the `IGListAdapter`‘s scrollViewDelegate and all visible `IGListSectioControllers`.

  #### Declaration

  Objective-C

      - (void)listAdapter:(nonnull IGListAdapter *)listAdapter
            didCallScroll:(nonnull UIScrollView *)scrollView;

  Swift

      func listAdapter(_ listAdapter: IGListAdapter, didCallScroll scrollView: Any!)

  #### Parameters

  `listAdapter` | The list adapter sending this information.
  `scrollView` | The scroll view backing the UICollectionView.

© 2019 Instagram. All rights reserved. (Last updated: 2019-11-20)

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