Peter 9bc996374f Add 'submodules/AsyncDisplayKit/' from commit '02bedc12816e251ad71777f9d2578329b6d2bef6'
git-subtree-dir: submodules/AsyncDisplayKit
git-subtree-mainline: d06f423e0ed3df1fed9bd10d79ee312a9179b632
git-subtree-split: 02bedc12816e251ad71777f9d2578329b6d2bef6
2019-06-11 18:42:43 +01:00

2128 lines
57 KiB
HTML
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ASTableNode Class Reference</title>
<link rel="stylesheet" href="../css/style.css">
<meta name="viewport" content="initial-scale=1, maximum-scale=1.4">
<meta name="generator" content="appledoc 2.2.1 (build 1334)">
</head>
<body class="appledoc">
<header>
<div class="container" class="hide-in-xcode">
<h1 id="library-title">
<a href="../index.html"> </a>
</h1>
<p id="developer-home">
<a href="../index.html">AsyncDisplayKit</a>
</p>
</div>
</header>
<aside>
<div class="container">
<nav>
<ul id="header-buttons" role="toolbar">
<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>
<li id="on-this-page" role="navigation">
<label>
On This Page
<div class="chevron">
<div class="chevy chevron-left"></div>
<div class="chevy chevron-right"></div>
</div>
<select id="jump-to">
<option value="top">Jump To&#133;</option>
<option value="overview">Overview</option>
<option value="tasks">Tasks</option>
<optgroup label="Properties">
<option value="//api/name/indexPathForSelectedRow">indexPathForSelectedRow</option>
<option value="//api/name/numberOfSections">numberOfSections</option>
<option value="//api/name/view">view</option>
<option value="//api/name/visibleNodes">visibleNodes</option>
</optgroup>
<optgroup label="Instance Methods">
<option value="//api/name/cellForRowAtIndexPath:">- cellForRowAtIndexPath:</option>
<option value="//api/name/deleteRowsAtIndexPaths:withRowAnimation:">- deleteRowsAtIndexPaths:withRowAnimation:</option>
<option value="//api/name/deleteSections:withRowAnimation:">- deleteSections:withRowAnimation:</option>
<option value="//api/name/indexPathForNode:">- indexPathForNode:</option>
<option value="//api/name/indexPathForRowAtPoint:">- indexPathForRowAtPoint:</option>
<option value="//api/name/indexPathsForRowsInRect:">- indexPathsForRowsInRect:</option>
<option value="//api/name/indexPathsForVisibleRows">- indexPathsForVisibleRows</option>
<option value="//api/name/init">- init</option>
<option value="//api/name/insertRowsAtIndexPaths:withRowAnimation:">- insertRowsAtIndexPaths:withRowAnimation:</option>
<option value="//api/name/insertSections:withRowAnimation:">- insertSections:withRowAnimation:</option>
<option value="//api/name/moveRowAtIndexPath:toIndexPath:">- moveRowAtIndexPath:toIndexPath:</option>
<option value="//api/name/moveSection:toSection:">- moveSection:toSection:</option>
<option value="//api/name/nodeForRowAtIndexPath:">- nodeForRowAtIndexPath:</option>
<option value="//api/name/numberOfRowsInSection:">- numberOfRowsInSection:</option>
<option value="//api/name/performBatchAnimated:updates:completion:">- performBatchAnimated:updates:completion:</option>
<option value="//api/name/performBatchUpdates:completion:">- performBatchUpdates:completion:</option>
<option value="//api/name/rectForRowAtIndexPath:">- rectForRowAtIndexPath:</option>
<option value="//api/name/relayoutItems">- relayoutItems</option>
<option value="//api/name/reloadData">- reloadData</option>
<option value="//api/name/reloadDataWithCompletion:">- reloadDataWithCompletion:</option>
<option value="//api/name/reloadRowsAtIndexPaths:withRowAnimation:">- reloadRowsAtIndexPaths:withRowAnimation:</option>
<option value="//api/name/reloadSections:withRowAnimation:">- reloadSections:withRowAnimation:</option>
<option value="//api/name/scrollToRowAtIndexPath:atScrollPosition:animated:">- scrollToRowAtIndexPath:atScrollPosition:animated:</option>
<option value="//api/name/selectRowAtIndexPath:animated:scrollPosition:">- selectRowAtIndexPath:animated:scrollPosition:</option>
<option value="//api/name/setTuningParameters:forRangeMode:rangeType:">- setTuningParameters:forRangeMode:rangeType:</option>
<option value="//api/name/setTuningParameters:forRangeType:">- setTuningParameters:forRangeType:</option>
<option value="//api/name/tuningParametersForRangeMode:rangeType:">- tuningParametersForRangeMode:rangeType:</option>
<option value="//api/name/tuningParametersForRangeType:">- tuningParametersForRangeType:</option>
<option value="//api/name/waitUntilAllUpdatesAreCommitted">- waitUntilAllUpdatesAreCommitted</option>
</optgroup>
</select>
</label>
</li>
</ul>
</nav>
</div>
</aside>
<article>
<div id="overview_contents" class="container">
<div id="content">
<main role="main">
<h1 class="title">ASTableNode Class Reference</h1>
<div class="section section-specification"><table cellspacing="0"><tbody>
<tr>
<th>Inherits from</th>
<td><a href="../Classes/ASDisplayNode.html">ASDisplayNode</a> : ASDealloc2MainObject</td>
</tr><tr>
<th>Conforms to</th>
<td>ASRangeControllerUpdateRangeProtocol</td>
</tr><tr>
<th>Declared in</th>
<td>ASTableNode.h</td>
</tr>
</tbody></table></div>
<div class="section section-overview">
<a title="Overview" name="overview"></a>
<h2 class="subtitle subtitle-overview">Overview</h2>
<p>ASTableNode is a node based class that wraps an ASTableView. It can be used
as a subnode of another node, and provide room for many (great) features and improvements later on.</p>
</div>
<div class="section section-tasks">
<a title="Tasks" name="tasks"></a>
<div class="task-list">
<div class="section-method">
<a name="//api/name/init" title="init"></a>
<h3 class="method-title"><code><a href="#//api/name/init">&ndash;&nbsp;init</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Designated initializer.</p>
</div>
<div class="method-subsection method-declaration"><code>- (instancetype)init</code></div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>An ASDisplayNode instance whose view will be a subclass that enables asynchronous rendering, and passes
through -layout and touch handling methods.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASDisplayNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/view" title="view"></a>
<h3 class="method-title"><code><a href="#//api/name/view">&nbsp;&nbsp;view</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Returns a view.</p>
</div>
<div class="method-subsection method-declaration"><code>@property (strong, nonatomic, readonly) ASTableView *view</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>The view property is lazily initialized, similar to UIViewController.
To go the other direction, use ASViewToDisplayNode() in ASDisplayNodeExtras.h.</p><div class="warning"><p><strong>Warning:</strong> The first access to it must be on the main thread, and should only be used on the main thread thereafter as
well.</p></div>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASDisplayNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/tuningParametersForRangeType:" title="tuningParametersForRangeType:"></a>
<h3 class="method-title"><code><a href="#//api/name/tuningParametersForRangeType:">&ndash;&nbsp;tuningParametersForRangeType:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Tuning parameters for a range type in full mode.</p>
</div>
<div class="method-subsection method-declaration"><code>- (ASRangeTuningParameters)tuningParametersForRangeType:(ASLayoutRangeType)<em>rangeType</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>rangeType</code></th>
<td><p>The range type to get the tuning parameters for.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>A tuning parameter value for the given range type in full mode.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/setTuningParameters:forRangeType:" title="setTuningParameters:forRangeType:"></a>
<h3 class="method-title"><code><a href="#//api/name/setTuningParameters:forRangeType:">&ndash;&nbsp;setTuningParameters:forRangeType:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Set the tuning parameters for a range type in full mode.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)setTuningParameters:(ASRangeTuningParameters)<em>tuningParameters</em> forRangeType:(ASLayoutRangeType)<em>rangeType</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>tuningParameters</code></th>
<td><p>The tuning parameters to store for a range type.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>rangeType</code></th>
<td><p>The range type to set the tuning parameters for.</p></td>
</tr>
</table>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/tuningParametersForRangeMode:rangeType:" title="tuningParametersForRangeMode:rangeType:"></a>
<h3 class="method-title"><code><a href="#//api/name/tuningParametersForRangeMode:rangeType:">&ndash;&nbsp;tuningParametersForRangeMode:rangeType:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Tuning parameters for a range type in the specified mode.</p>
</div>
<div class="method-subsection method-declaration"><code>- (ASRangeTuningParameters)tuningParametersForRangeMode:(ASLayoutRangeMode)<em>rangeMode</em> rangeType:(ASLayoutRangeType)<em>rangeType</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>rangeMode</code></th>
<td><p>The range mode to get the running parameters for.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>rangeType</code></th>
<td><p>The range type to get the tuning parameters for.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>A tuning parameter value for the given range type in the given mode.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/setTuningParameters:forRangeMode:rangeType:" title="setTuningParameters:forRangeMode:rangeType:"></a>
<h3 class="method-title"><code><a href="#//api/name/setTuningParameters:forRangeMode:rangeType:">&ndash;&nbsp;setTuningParameters:forRangeMode:rangeType:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Set the tuning parameters for a range type in the specified mode.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)setTuningParameters:(ASRangeTuningParameters)<em>tuningParameters</em> forRangeMode:(ASLayoutRangeMode)<em>rangeMode</em> rangeType:(ASLayoutRangeType)<em>rangeType</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>tuningParameters</code></th>
<td><p>The tuning parameters to store for a range type.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>rangeMode</code></th>
<td><p>The range mode to set the running parameters for.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>rangeType</code></th>
<td><p>The range type to set the tuning parameters for.</p></td>
</tr>
</table>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/scrollToRowAtIndexPath:atScrollPosition:animated:" title="scrollToRowAtIndexPath:atScrollPosition:animated:"></a>
<h3 class="method-title"><code><a href="#//api/name/scrollToRowAtIndexPath:atScrollPosition:animated:">&ndash;&nbsp;scrollToRowAtIndexPath:atScrollPosition:animated:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Scrolls the table to the given row.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)scrollToRowAtIndexPath:(NSIndexPath *)<em>indexPath</em> atScrollPosition:(UITableViewScrollPosition)<em>scrollPosition</em> animated:(BOOL)<em>animated</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPath</code></th>
<td><p>The index path of the row.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>scrollPosition</code></th>
<td><p>Where the row should end up after the scroll.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animated</code></th>
<td><p>Whether the scroll should be animated or not.</p>
<p>This method must be called on the main thread.</p></td>
</tr>
</table>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/reloadDataWithCompletion:" title="reloadDataWithCompletion:"></a>
<h3 class="method-title"><code><a href="#//api/name/reloadDataWithCompletion:">&ndash;&nbsp;reloadDataWithCompletion:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Reload everything from scratch, destroying the working range and all cached nodes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)reloadDataWithCompletion:(nullable void ( ^ ) ( ))<em>completion</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>completion</code></th>
<td><p>block to run on completion of asynchronous loading or nil. If supplied, the block is run on
the main thread.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<div class="warning"><p><strong>Warning:</strong> This method is substantially more expensive than UITableView&rsquo;s version.</p></div>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/reloadData" title="reloadData"></a>
<h3 class="method-title"><code><a href="#//api/name/reloadData">&ndash;&nbsp;reloadData</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Reload everything from scratch, destroying the working range and all cached nodes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)reloadData</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<div class="warning"><p><strong>Warning:</strong> This method is substantially more expensive than UITableView&rsquo;s version.</p></div>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/relayoutItems" title="relayoutItems"></a>
<h3 class="method-title"><code><a href="#//api/name/relayoutItems">&ndash;&nbsp;relayoutItems</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Triggers a relayout of all nodes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)relayoutItems</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method invalidates and lays out every cell node in the table view.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/performBatchAnimated:updates:completion:" title="performBatchAnimated:updates:completion:"></a>
<h3 class="method-title"><code><a href="#//api/name/performBatchAnimated:updates:completion:">&ndash;&nbsp;performBatchAnimated:updates:completion:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Perform a batch of updates asynchronously, optionally disabling all animations in the batch. This method must be called from the main thread.
The data source must be updated to reflect the changes before the update block completes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)performBatchAnimated:(BOOL)<em>animated</em> updates:(nullable __attribute ( ( noescape ) ) void ( ^ ) ( ))<em>updates</em> completion:(nullable void ( ^ ) ( BOOL finished ))<em>completion</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>animated</code></th>
<td><p>NO to disable animations for this batch</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>updates</code></th>
<td><p>The block that performs the relevant insert, delete, reload, or move operations.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>completion</code></th>
<td><p>A completion handler block to execute when all of the operations are finished. This block takes a single
Boolean parameter that contains the value YES if all of the related animations completed successfully or
NO if they were interrupted. This parameter may be nil. If supplied, the block is run on the main thread.</p></td>
</tr>
</table>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/performBatchUpdates:completion:" title="performBatchUpdates:completion:"></a>
<h3 class="method-title"><code><a href="#//api/name/performBatchUpdates:completion:">&ndash;&nbsp;performBatchUpdates:completion:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Perform a batch of updates asynchronously, optionally disabling all animations in the batch. This method must be called from the main thread.
The data source must be updated to reflect the changes before the update block completes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)performBatchUpdates:(nullable __attribute ( ( noescape ) ) void ( ^ ) ( ))<em>updates</em> completion:(nullable void ( ^ ) ( BOOL finished ))<em>completion</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>updates</code></th>
<td><p>The block that performs the relevant insert, delete, reload, or move operations.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>completion</code></th>
<td><p>A completion handler block to execute when all of the operations are finished. This block takes a single
Boolean parameter that contains the value YES if all of the related animations completed successfully or
NO if they were interrupted. This parameter may be nil. If supplied, the block is run on the main thread.</p></td>
</tr>
</table>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/waitUntilAllUpdatesAreCommitted" title="waitUntilAllUpdatesAreCommitted"></a>
<h3 class="method-title"><code><a href="#//api/name/waitUntilAllUpdatesAreCommitted">&ndash;&nbsp;waitUntilAllUpdatesAreCommitted</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Blocks execution of the main thread until all section and row updates are committed. This method must be called from the main thread.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)waitUntilAllUpdatesAreCommitted</code></div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/insertSections:withRowAnimation:" title="insertSections:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/insertSections:withRowAnimation:">&ndash;&nbsp;insertSections:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Inserts one or more sections, with an option to animate the insertion.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)insertSections:(NSIndexSet *)<em>sections</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>sections</code></th>
<td><p>An index set that specifies the sections to insert.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the insertion is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/deleteSections:withRowAnimation:" title="deleteSections:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/deleteSections:withRowAnimation:">&ndash;&nbsp;deleteSections:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Deletes one or more sections, with an option to animate the deletion.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)deleteSections:(NSIndexSet *)<em>sections</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>sections</code></th>
<td><p>An index set that specifies the sections to delete.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the deletion is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/reloadSections:withRowAnimation:" title="reloadSections:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/reloadSections:withRowAnimation:">&ndash;&nbsp;reloadSections:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Reloads the specified sections using a given animation effect.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)reloadSections:(NSIndexSet *)<em>sections</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>sections</code></th>
<td><p>An index set that specifies the sections to reload.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the reloading is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/moveSection:toSection:" title="moveSection:toSection:"></a>
<h3 class="method-title"><code><a href="#//api/name/moveSection:toSection:">&ndash;&nbsp;moveSection:toSection:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Moves a section to a new location.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)moveSection:(NSInteger)<em>section</em> toSection:(NSInteger)<em>newSection</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>section</code></th>
<td><p>The index of the section to move.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>newSection</code></th>
<td><p>The index that is the destination of the move for the section.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/insertRowsAtIndexPaths:withRowAnimation:" title="insertRowsAtIndexPaths:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/insertRowsAtIndexPaths:withRowAnimation:">&ndash;&nbsp;insertRowsAtIndexPaths:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Inserts rows at the locations identified by an array of index paths, with an option to animate the insertion.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)insertRowsAtIndexPaths:(NSArray&lt;NSIndexPath*&gt; *)<em>indexPaths</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPaths</code></th>
<td><p>An array of NSIndexPath objects, each representing a row index and section index that together identify a row.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the insertion is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/deleteRowsAtIndexPaths:withRowAnimation:" title="deleteRowsAtIndexPaths:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/deleteRowsAtIndexPaths:withRowAnimation:">&ndash;&nbsp;deleteRowsAtIndexPaths:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Deletes the rows specified by an array of index paths, with an option to animate the deletion.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)deleteRowsAtIndexPaths:(NSArray&lt;NSIndexPath*&gt; *)<em>indexPaths</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPaths</code></th>
<td><p>An array of NSIndexPath objects identifying the rows to delete.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the deletion is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/reloadRowsAtIndexPaths:withRowAnimation:" title="reloadRowsAtIndexPaths:withRowAnimation:"></a>
<h3 class="method-title"><code><a href="#//api/name/reloadRowsAtIndexPaths:withRowAnimation:">&ndash;&nbsp;reloadRowsAtIndexPaths:withRowAnimation:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Reloads the specified rows using a given animation effect.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)reloadRowsAtIndexPaths:(NSArray&lt;NSIndexPath*&gt; *)<em>indexPaths</em> withRowAnimation:(UITableViewRowAnimation)<em>animation</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPaths</code></th>
<td><p>An array of NSIndexPath objects identifying the rows to reload.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animation</code></th>
<td><p>A constant that indicates how the reloading is to be animated. See UITableViewRowAnimation.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/moveRowAtIndexPath:toIndexPath:" title="moveRowAtIndexPath:toIndexPath:"></a>
<h3 class="method-title"><code><a href="#//api/name/moveRowAtIndexPath:toIndexPath:">&ndash;&nbsp;moveRowAtIndexPath:toIndexPath:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Moves the row at a specified location to a destination location.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)moveRowAtIndexPath:(NSIndexPath *)<em>indexPath</em> toIndexPath:(NSIndexPath *)<em>newIndexPath</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPath</code></th>
<td><p>The index path identifying the row to move.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>newIndexPath</code></th>
<td><p>The index path that is the destination of the move for the row.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread. The asyncDataSource must be updated to reflect the changes
before this method is called.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/selectRowAtIndexPath:animated:scrollPosition:" title="selectRowAtIndexPath:animated:scrollPosition:"></a>
<h3 class="method-title"><code><a href="#//api/name/selectRowAtIndexPath:animated:scrollPosition:">&ndash;&nbsp;selectRowAtIndexPath:animated:scrollPosition:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Selects a row in the table view identified by index path, optionally scrolling the row to a location in the table view.
This method does not cause any selection-related delegate methods to be called.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)selectRowAtIndexPath:(nullable NSIndexPath *)<em>indexPath</em> animated:(BOOL)<em>animated</em> scrollPosition:(UITableViewScrollPosition)<em>scrollPosition</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPath</code></th>
<td><p>An index path identifying a row in the table view.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>animated</code></th>
<td><p>Specify YES to animate the change in the selection or NO to make the change without animating it.</p></td>
</tr>
<tr>
<th scope="row" class="argument-name"><code>scrollPosition</code></th>
<td><p>A constant that identifies a relative position in the table view (top, middle, bottom) for the row when scrolling concludes. See <code>UITableViewScrollPosition</code> for descriptions of valid constants.</p></td>
</tr>
</table>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/numberOfRowsInSection:" title="numberOfRowsInSection:"></a>
<h3 class="method-title"><code><a href="#//api/name/numberOfRowsInSection:">&ndash;&nbsp;numberOfRowsInSection:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Retrieves the number of rows in the given section.</p>
</div>
<div class="method-subsection method-declaration"><code>- (NSInteger)numberOfRowsInSection:(NSInteger)<em>section</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>section</code></th>
<td><p>The section.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>The number of rows.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/numberOfSections" title="numberOfSections"></a>
<h3 class="method-title"><code><a href="#//api/name/numberOfSections">&nbsp;&nbsp;numberOfSections</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>The number of sections in the table node.</p>
</div>
<div class="method-subsection method-declaration"><code>@property (nonatomic, readonly) NSInteger numberOfSections</code></div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/visibleNodes" title="visibleNodes"></a>
<h3 class="method-title"><code><a href="#//api/name/visibleNodes">&nbsp;&nbsp;visibleNodes</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -visibleCells.</p>
</div>
<div class="method-subsection method-declaration"><code>@property (nonatomic, readonly) NSArray&lt;__kindofASCellNode*&gt; *visibleNodes</code></div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>an array containing the nodes being displayed on screen. This must be called on the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/nodeForRowAtIndexPath:" title="nodeForRowAtIndexPath:"></a>
<h3 class="method-title"><code><a href="#//api/name/nodeForRowAtIndexPath:">&ndash;&nbsp;nodeForRowAtIndexPath:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Retrieves the node for the row at the given index path.</p>
</div>
<div class="method-subsection method-declaration"><code>- (nullable __kindof ASCellNode *)nodeForRowAtIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/indexPathForNode:" title="indexPathForNode:"></a>
<h3 class="method-title"><code><a href="#//api/name/indexPathForNode:">&ndash;&nbsp;indexPathForNode:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -indexPathForCell:.</p>
</div>
<div class="method-subsection method-declaration"><code>- (nullable NSIndexPath *)indexPathForNode:(ASCellNode *)<em>cellNode</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>cellNode</code></th>
<td><p>a node for a row.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>The index path to this row, if it exists.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method will return @c nil for a node that is still being
displayed in the table view, if the data source has deleted the row.
That is, the node is visible but it no longer corresponds
to any item in the data source and will be removed soon.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/rectForRowAtIndexPath:" title="rectForRowAtIndexPath:"></a>
<h3 class="method-title"><code><a href="#//api/name/rectForRowAtIndexPath:">&ndash;&nbsp;rectForRowAtIndexPath:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -[UITableView rectForRowAtIndexPath:]</p>
</div>
<div class="method-subsection method-declaration"><code>- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPath</code></th>
<td><p>An index path identifying a row in the table view.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>A rectangle defining the area in which the table view draws the row or CGRectZero if indexPath is invalid.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/cellForRowAtIndexPath:" title="cellForRowAtIndexPath:"></a>
<h3 class="method-title"><code><a href="#//api/name/cellForRowAtIndexPath:">&ndash;&nbsp;cellForRowAtIndexPath:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -[UITableView cellForRowAtIndexPath:]</p>
</div>
<div class="method-subsection method-declaration"><code>- (nullable __kindof UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>indexPath</code></th>
<td><p>An index path identifying a row in the table view.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>An object representing a cell of the table, or nil if the cell is not visible or indexPath is out of range.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/indexPathForSelectedRow" title="indexPathForSelectedRow"></a>
<h3 class="method-title"><code><a href="#//api/name/indexPathForSelectedRow">&nbsp;&nbsp;indexPathForSelectedRow</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to UITableView.indexPathForSelectedRow</p>
</div>
<div class="method-subsection method-declaration"><code>@property (nonatomic, readonly, nullable) NSIndexPath *indexPathForSelectedRow</code></div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>The value of this property is an index path identifying the row and section
indexes of the selected row, or nil if the index path is invalid. If there are multiple selections,
this property contains the first index-path object in the array of row selections;
this object has the lowest index values for section and row.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/indexPathForRowAtPoint:" title="indexPathForRowAtPoint:"></a>
<h3 class="method-title"><code><a href="#//api/name/indexPathForRowAtPoint:">&ndash;&nbsp;indexPathForRowAtPoint:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -[UITableView indexPathForRowAtPoint:]</p>
</div>
<div class="method-subsection method-declaration"><code>- (nullable NSIndexPath *)indexPathForRowAtPoint:(CGPoint)<em>point</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>point</code></th>
<td><p>A point in the local coordinate system of the table view (the table view€™s bounds).</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>An index path representing the row and section associated with point,
or nil if the point is out of the bounds of any row.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/indexPathsForRowsInRect:" title="indexPathsForRowsInRect:"></a>
<h3 class="method-title"><code><a href="#//api/name/indexPathsForRowsInRect:">&ndash;&nbsp;indexPathsForRowsInRect:</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -[UITableView indexPathsForRowsInRect:]</p>
</div>
<div class="method-subsection method-declaration"><code>- (nullable NSArray&lt;NSIndexPath*&gt; *)indexPathsForRowsInRect:(CGRect)<em>rect</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<table class="argument-def parameter-def">
<tr>
<th scope="row" class="argument-name"><code>rect</code></th>
<td><p>A rectangle defining an area of the table view in local coordinates.</p></td>
</tr>
</table>
</div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>An array of NSIndexPath objects each representing a row and section index identifying a row within rect.
Returns an empty array if there arent any rows to return.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div><div class="section-method">
<a name="//api/name/indexPathsForVisibleRows" title="indexPathsForVisibleRows"></a>
<h3 class="method-title"><code><a href="#//api/name/indexPathsForVisibleRows">&ndash;&nbsp;indexPathsForVisibleRows</a></code>
</h3>
<div class="method-info">
<div class="pointy-thing"></div>
<div class="method-info-container">
<div class="method-subsection brief-description">
<p>Similar to -[UITableView indexPathsForVisibleRows]</p>
</div>
<div class="method-subsection method-declaration"><code>- (NSArray&lt;NSIndexPath*&gt; *)indexPathsForVisibleRows</code></div>
<div class="method-subsection return">
<h4 class="method-subtitle parameter-title">Return Value</h4>
<p>The value of this property is an array of NSIndexPath objects each representing a row index and section index
that together identify a visible row in the table view. If no rows are visible, the value is nil.</p>
</div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>This method must be called from the main thread.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<p><code class="declared-in-ref">ASTableNode.h</code></p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer>
<div class="footer-copyright">
<p class="copyright">Copyright &copy; 2016 AsyncDisplayKit. All rights reserved. Updated: 2016-11-05</p>
<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
</div>
</footer>
</div>
</div>
</article>
<script src="../js/script.js"></script>
</body>
</html>