IGListKit/docs/Classes/IGListSectionController.html
Zhisheng Huang 05dd3cb71e re-run doc build script
Summary:
As title, currently https://instagram.github.io/IGListKit/ is not working.

Let's try to rebuild the doc

Reviewed By: Ziewvater

Differential Revision: D31811862

fbshipit-source-id: 8a0b0ce6c73542da71dddd13c24b5eb9fe9b0506
2021-10-28 15:49:12 -07:00

1461 lines
79 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>IGListSectionController Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/objc/Class/IGListSectionController" class="dashAnchor"></a>
<a title="IGListSectionController Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">IGListKit 4.1.0 Docs</a> (94% documented)</p>
<p class="header-right"><a href="https://github.com/Instagram/IGListKit"><img src="../img/gh.png"/>View on GitHub</a></p>
<p class="header-right">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">IGListKit Reference</a>
<img id="carat" src="../img/carat.png" />
IGListSectionController Class Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../best-practices-and-faq.html">Best Practices and FAQ</a>
</li>
<li class="nav-group-task">
<a href="../generating-your-models-using-remodel.html">Generating your models using remodel</a>
</li>
<li class="nav-group-task">
<a href="../getting-started.html">Getting Started</a>
</li>
<li class="nav-group-task">
<a href="../iglistdiffable-and-equality.html">IGListDiffable and Equality</a>
</li>
<li class="nav-group-task">
<a href="../installation.html">Installation</a>
</li>
<li class="nav-group-task">
<a href="../migration.html">Migration</a>
</li>
<li class="nav-group-task">
<a href="../modeling-and-binding.html">Modeling and Binding</a>
</li>
<li class="nav-group-task">
<a href="../vision.html">VISION</a>
</li>
<li class="nav-group-task">
<a href="../working-with-core-data.html">Working with Core Data</a>
</li>
<li class="nav-group-task">
<a href="../working-with-uicollectionview.html">Working with UICollectionView</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/IGListAdapter.html">IGListAdapter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListAdapterUpdater.html">IGListAdapterUpdater</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListBatchUpdateData.html">IGListBatchUpdateData</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListBindingSectionController.html">IGListBindingSectionController</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListCollectionView.html">IGListCollectionView</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListCollectionViewLayout.html">IGListCollectionViewLayout</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListGenericSectionController.html">IGListGenericSectionController</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListIndexPathResult.html">IGListIndexPathResult</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListIndexSetResult.html">IGListIndexSetResult</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListMoveIndex.html">IGListMoveIndex</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListMoveIndexPath.html">IGListMoveIndexPath</a>
</li>
<li class="nav-group-task">
<a href="../Classes.html#/c:objc(cs)IGListReloadDataUpdater">IGListReloadDataUpdater</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListSectionController.html">IGListSectionController</a>
</li>
<li class="nav-group-task">
<a href="../Classes/IGListSingleSectionController.html">IGListSingleSectionController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Constants.html">Constants</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Constants.html#/c:@IGListKitVersionNumber">IGListKitVersionNumber</a>
</li>
<li class="nav-group-task">
<a href="../Constants.html#/c:@IGListKitVersionString">IGListKitVersionString</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/IGListAdapterUpdateType.html">IGListAdapterUpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/IGListDiffOption.html">IGListDiffOption</a>
</li>
<li class="nav-group-task">
<a href="../Enums/IGListExperiment.html">IGListExperiment</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterDataSource.html">IGListAdapterDataSource</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterDelegate.html">IGListAdapterDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterMoveDelegate.html">IGListAdapterMoveDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterPerformanceDelegate.html">IGListAdapterPerformanceDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterUpdateListener.html">IGListAdapterUpdateListener</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListAdapterUpdaterDelegate.html">IGListAdapterUpdaterDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListBatchContext.html">IGListBatchContext</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListBindable.html">IGListBindable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListBindingSectionControllerDataSource.html">IGListBindingSectionControllerDataSource</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListBindingSectionControllerSelectionDelegate.html">IGListBindingSectionControllerSelectionDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListCollectionContext.html">IGListCollectionContext</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListCollectionViewDelegateLayout.html">IGListCollectionViewDelegateLayout</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListCollectionViewLayoutCompatible.html">IGListCollectionViewLayoutCompatible</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListDiffable.html">IGListDiffable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListDisplayDelegate.html">IGListDisplayDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListScrollDelegate.html">IGListScrollDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListSingleSectionControllerDelegate.html">IGListSingleSectionControllerDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListSupplementaryViewSource.html">IGListSupplementaryViewSource</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListTransitionDelegate.html">IGListTransitionDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListUpdatingDelegate.html">IGListUpdatingDelegate</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/IGListWorkingRangeDelegate.html">IGListWorkingRangeDelegate</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Type%20Definitions.html">Type Definitions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Type%20Definitions/IGListCollectionScrollingTraits.html">IGListCollectionScrollingTraits</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListCollectionViewBlock">IGListCollectionViewBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListDataSourceChangeBlock">IGListDataSourceChangeBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListItemUpdateBlock">IGListItemUpdateBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListObjectTransitionBlock">IGListObjectTransitionBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListReloadUpdateBlock">IGListReloadUpdateBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellConfigureBlock">IGListSingleSectionCellConfigureBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellSizeBlock">IGListSingleSectionCellSizeBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListToObjectBlock">IGListToObjectBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListTransitionDataApplyBlock">IGListTransitionDataApplyBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListTransitionDataBlock">IGListTransitionDataBlock</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListAdapter.h@T@IGListUpdaterCompletion">IGListUpdaterCompletion</a>
</li>
<li class="nav-group-task">
<a href="../Type%20Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListUpdatingCompletion">IGListUpdatingCompletion</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Functions.html#/c:@F@IGListDiff">IGListDiff</a>
</li>
<li class="nav-group-task">
<a href="../Functions.html#/c:@F@IGListDiffPaths">IGListDiffPaths</a>
</li>
<li class="nav-group-task">
<a href="../Functions.html#/c:IGListExperiments.h@F@IGListExperimentEnabled">IGListExperimentEnabled</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/IGListCollectionScrollingTraits.html">IGListCollectionScrollingTraits</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>IGListSectionController</h1>
<div class="declaration">
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code>
<span class="k">@interface</span> <span class="nc">IGListSectionController</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">ListSectionController</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>The base class for section controllers used in a list. This class is intended to be subclassed.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)numberOfItems"></a>
<a name="//apple_ref/objc/Method/-numberOfItems" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)numberOfItems">-numberOfItems</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the number of items in the section.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The count returned is used to drive the number of cells displayed for this section controller. The default
implementation returns 1. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">NSInteger</span><span class="p">)</span><span class="n">numberOfItems</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">numberOfItems</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>A count of items in the list.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)sizeForItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-sizeForItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)sizeForItemAtIndex:">-sizeForItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The specific size for the item at the specified index.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The returned size is not guaranteed to be used. The implementation may query sections for their
layout information at will, or use its own layout metrics. For example, consider a dynamic-text sized list versus a
fixed height-and-width grid. The former will ask each section for a size, and the latter will likely not. The default
implementation returns size zero. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">CGSize</span><span class="p">)</span><span class="nf">sizeForItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">sizeForItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">CGSize</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The row index of the item.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The size for the item at index.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)cellForItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-cellForItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)cellForItemAtIndex:">-cellForItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return a dequeued cell for a given index.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>This is your opportunity to do any cell setup and configuration. The infrastructure requests a cell when it
will be used on screen. You should never allocate new cells in this method, instead use the provided adapter to call
one of the dequeue methods on the IGListCollectionContext. The default implementation will assert. <strong>You must override
this method without calling super.</strong></p>
</div><div class="aside aside-warning">
<p class="aside-title">Warning</p>
<p>Don&rsquo;t call this method to obtain a reference to currently dequeued cells: a new cell will be dequeued
and returned, rather than the existing cell that you may have intended to retrieve. Instead, you can call
<code>-cellForItemAtIndex:sectionController:</code> on <code><a href="../Protocols/IGListCollectionContext.html">IGListCollectionContext</a></code> to obtain active cell references.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">nonnull</span> <span class="n">__kindof</span> <span class="n">UICollectionViewCell</span> <span class="o">*</span><span class="p">)</span><span class="nf">cellForItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">cellForItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UICollectionViewCell</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the requested row.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>A configured <code>UICollectionViewCell</code> subclass.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)didUpdateToObject:"></a>
<a name="//apple_ref/objc/Method/-didUpdateToObject:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)didUpdateToObject:">-didUpdateToObject:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Updates the section controller to a new object.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>When this method is called, all available contexts and configurations have been set for the section
controller. This method will only be called when the object instance has changed, including from <code>nil</code> or a previous
object. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didUpdateToObject</span><span class="p">:(</span><span class="n">nonnull</span> <span class="n">id</span><span class="p">)</span><span class="nv">object</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didUpdate</span><span class="p">(</span><span class="n">to</span> <span class="nv">object</span><span class="p">:</span> <span class="kt">Any</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>object</em>
</code>
</td>
<td>
<div>
<p>The object mapped to this section controller.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)shouldSelectItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-shouldSelectItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)shouldSelectItemAtIndex:">-shouldSelectItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Asks the section controller if the cell at the specified index path should be selected</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The default implementation returns YES. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">BOOL</span><span class="p">)</span><span class="nf">shouldSelectItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">shouldSelectItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of cell to be selected.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)didSelectItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-didSelectItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)didSelectItemAtIndex:">-didSelectItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tells the section controller that the cell at the specified index path was selected.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The default implementation does nothing. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didSelectItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didSelectItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the selected cell.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)didDeselectItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-didDeselectItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)didDeselectItemAtIndex:">-didDeselectItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tells the section controller that the cell at the specified index path was deselected.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The default implementation does nothing. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didDeselectItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didDeselectItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the deselected cell.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)didHighlightItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-didHighlightItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)didHighlightItemAtIndex:">-didHighlightItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tells the section controller that the cell at the specified index path was highlighted.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The default implementation does nothing. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didHighlightItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didHighlightItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the highlighted cell.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)didUnhighlightItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-didUnhighlightItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)didUnhighlightItemAtIndex:">-didUnhighlightItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Tells the section controller that the cell at the specified index path was unhighlighted.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>The default implementation does nothing. <strong>Calling super is not required.</strong></p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didUnhighlightItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">didUnhighlightItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the unhighlighted cell.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)canMoveItemAtIndex:"></a>
<a name="//apple_ref/objc/Method/-canMoveItemAtIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)canMoveItemAtIndex:">-canMoveItemAtIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Identifies whether an object can be moved through interactive reordering.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>Interactive reordering is supported both for items within a single section, as well as for reordering sections
themselves when sections contain only one item. The default implementation returns false.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="n">BOOL</span><span class="p">)</span><span class="nf">canMoveItemAtIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">index</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">canMoveItem</span><span class="p">(</span><span class="n">at</span> <span class="nv">index</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>index</em>
</code>
</td>
<td>
<div>
<p>The index of the object in the list.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p><code>YES</code> if the object is allowed to move, otherwise <code>NO</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(im)moveObjectFromIndex:toIndex:"></a>
<a name="//apple_ref/objc/Method/-moveObjectFromIndex:toIndex:" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(im)moveObjectFromIndex:toIndex:">-moveObjectFromIndex:<wbr>toIndex:<wbr></a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Notifies the section that a list object should move within a section as the result of interactive reordering.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>this method must be implemented if interactive reordering is enabled.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">moveObjectFromIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">sourceIndex</span>
<span class="nf">toIndex</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">destinationIndex</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">moveObject</span><span class="p">(</span><span class="n">from</span> <span class="nv">sourceIndex</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="n">to</span> <span class="nv">destinationIndex</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>sourceIndex</em>
</code>
</td>
<td>
<div>
<p>The starting index of the object.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>destinationIndex</em>
</code>
</td>
<td>
<div>
<p>The ending index of the object.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)viewController"></a>
<a name="//apple_ref/objc/Property/viewController" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)viewController">viewController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The view controller housing the adapter that created this section controller.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>Use this view controller to push, pop, present, or do other custom transitions.</p>
</div><div class="aside aside-warning">
<p class="aside-title">Warning</p>
<p>It is considered very bad practice to cast this to a known view controller
and call methods on it other than for navigations and transitions.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">readonly</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">UIViewController</span> <span class="o">*</span><span class="n">viewController</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">viewController</span><span class="p">:</span> <span class="kt">UIViewController</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)collectionContext"></a>
<a name="//apple_ref/objc/Property/collectionContext" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)collectionContext">collectionContext</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A context object for interacting with the collection.</p>
<p>Use this property for accessing the collection size, dequeuing cells, reloading, inserting, deleting, etc.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
When created outside of <code>-listAdapter:sectionControllerForObject:</code>, this object is temporarily <code>nil</code>
after initialization. We bridge it to Swift as an implicitly-unwrapped Optional, so that idiomatic IGListKit
code is not forced to handle nullability with explicit <code>as!</code> or <code>fatalError</code>, as using a non-<code>nil</code> instance
of this object is essential for dequeueing cells.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">readonly</span><span class="p">,</span> <span class="n">null_unspecified</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListCollectionContext.html">IGListCollectionContext</a></span><span class="o">&gt;</span> <span class="n">collectionContext</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">collectionContext</span><span class="p">:</span> <span class="kt">ListCollectionContext</span><span class="o">!</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)section"></a>
<a name="//apple_ref/objc/Property/section" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)section">section</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the section within the list for this section controller.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
This value also relates to the section within a <code>UICollectionView</code> that this section controller&rsquo;s cells belong.
It also relates to the <code>-[NSIndexPath section]</code> value for individual cells within the collection view.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">NSInteger</span> <span class="n">section</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">section</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)isFirstSection"></a>
<a name="//apple_ref/objc/Property/isFirstSection" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)isFirstSection">isFirstSection</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the section controller is the first section in the list, <code>NO</code> otherwise.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">isFirstSection</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">isFirstSection</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)isLastSection"></a>
<a name="//apple_ref/objc/Property/isLastSection" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)isLastSection">isLastSection</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns <code>YES</code> if the section controller is the last section in the list, <code>NO</code> otherwise.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">isLastSection</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">isLastSection</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)inset"></a>
<a name="//apple_ref/objc/Property/inset" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)inset">inset</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The margins used to lay out content in the section controller.</p>
<div class="aside aside-see">
<p class="aside-title">See</p>
<code>-[UICollectionViewFlowLayout sectionInset]</code>.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">UIEdgeInsets</span> <span class="n">inset</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">inset</span><span class="p">:</span> <span class="kt">UIEdgeInsets</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)minimumLineSpacing"></a>
<a name="//apple_ref/objc/Property/minimumLineSpacing" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)minimumLineSpacing">minimumLineSpacing</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum spacing to use between rows of items.</p>
<div class="aside aside-see">
<p class="aside-title">See</p>
<code>-[UICollectionViewFlowLayout minimumLineSpacing]</code>.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">CGFloat</span> <span class="n">minimumLineSpacing</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">minimumLineSpacing</span><span class="p">:</span> <span class="kt">CGFloat</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)minimumInteritemSpacing"></a>
<a name="//apple_ref/objc/Property/minimumInteritemSpacing" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)minimumInteritemSpacing">minimumInteritemSpacing</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum spacing to use between items in the same row.</p>
<div class="aside aside-see">
<p class="aside-title">See</p>
<code>-[UICollectionViewFlowLayout minimumInteritemSpacing]</code>.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">CGFloat</span> <span class="n">minimumInteritemSpacing</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">minimumInteritemSpacing</span><span class="p">:</span> <span class="kt">CGFloat</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)supplementaryViewSource"></a>
<a name="//apple_ref/objc/Property/supplementaryViewSource" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)supplementaryViewSource">supplementaryViewSource</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The supplementary view source for the section controller. Can be <code>nil</code>.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>You may wish to return <code>self</code> if your section controller implements this protocol.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListSupplementaryViewSource.html">IGListSupplementaryViewSource</a></span><span class="o">&gt;</span> <span class="n">supplementaryViewSource</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">supplementaryViewSource</span><span class="p">:</span> <span class="kt">ListSupplementaryViewSource</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>An object that conforms to <code><a href="../Protocols/IGListSupplementaryViewSource.html">IGListSupplementaryViewSource</a></code> or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)displayDelegate"></a>
<a name="//apple_ref/objc/Property/displayDelegate" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)displayDelegate">displayDelegate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An object that handles display events for the section controller. Can be <code>nil</code>.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>You may wish to return <code>self</code> if your section controller implements this protocol.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListDisplayDelegate.html">IGListDisplayDelegate</a></span><span class="o">&gt;</span> <span class="n">displayDelegate</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">displayDelegate</span><span class="p">:</span> <span class="kt">ListDisplayDelegate</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>An object that conforms to <code><a href="../Protocols/IGListDisplayDelegate.html">IGListDisplayDelegate</a></code> or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)workingRangeDelegate"></a>
<a name="//apple_ref/objc/Property/workingRangeDelegate" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)workingRangeDelegate">workingRangeDelegate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An object that handles working range events for the section controller. Can be <code>nil</code>.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>You may wish to return <code>self</code> if your section controller implements this protocol.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListWorkingRangeDelegate.html">IGListWorkingRangeDelegate</a></span><span class="o">&gt;</span> <span class="n">workingRangeDelegate</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">workingRangeDelegate</span><span class="p">:</span> <span class="kt">ListWorkingRangeDelegate</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>An object that conforms to <code><a href="../Protocols/IGListWorkingRangeDelegate.html">IGListWorkingRangeDelegate</a></code> or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)scrollDelegate"></a>
<a name="//apple_ref/objc/Property/scrollDelegate" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)scrollDelegate">scrollDelegate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An object that handles scroll events for the section controller. Can be <code>nil</code>.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>You may wish to return <code>self</code> if your section controller implements this protocol.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListScrollDelegate.html">IGListScrollDelegate</a></span><span class="o">&gt;</span> <span class="n">scrollDelegate</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">scrollDelegate</span><span class="p">:</span> <span class="kt">ListScrollDelegate</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>An object that conforms to <code><a href="../Protocols/IGListScrollDelegate.html">IGListScrollDelegate</a></code> or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)IGListSectionController(py)transitionDelegate"></a>
<a name="//apple_ref/objc/Property/transitionDelegate" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)IGListSectionController(py)transitionDelegate">transitionDelegate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An object that handles transition events for the section controller. Can be <code>nil</code>.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>You may wish to return <code>self</code> if your section controller implements this protocol.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">weak</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="../Protocols/IGListTransitionDelegate.html">IGListTransitionDelegate</a></span><span class="o">&gt;</span> <span class="n">transitionDelegate</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">weak</span> <span class="k">var</span> <span class="nv">transitionDelegate</span><span class="p">:</span> <span class="kt"><a href="../Protocols/IGListTransitionDelegate.html">IGListTransitionDelegate</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>An object that conforms to <code>IGListTransitionDelegat</code> or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2021 <a class="link" href="https://twitter.com/fbOpenSource" target="_blank" rel="external">Instagram</a>. All rights reserved. (Last updated: 2021-10-20)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.7</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>