This commit is contained in:
Nadine Salter
2015-01-05 16:28:39 -08:00
parent 02ecfe6b10
commit e95f02c649
38 changed files with 925 additions and 1316 deletions

View File

@@ -41,10 +41,6 @@
<option value="//api/name/delegate">&nbsp;&nbsp;&nbsp;&nbsp;delegate</option>
<option value="//api/name/tuningParameters">&nbsp;&nbsp;&nbsp;&nbsp;tuningParameters</option>
<option value="//api/name/workingRangeCalculationBlock">&nbsp;&nbsp;&nbsp;&nbsp;workingRangeCalculationBlock</option>
@@ -52,19 +48,9 @@
<option value="instance_methods">Instance Methods</option>
<option value="//api/name/appendNodesWithIndexPaths:">&nbsp;&nbsp;&nbsp;&nbsp;- appendNodesWithIndexPaths:</option>
<option value="//api/name/configureContentView:forCellNode:">&nbsp;&nbsp;&nbsp;&nbsp;- configureContentView:forCellNode:</option>
<option value="//api/name/calculatedSizeForNodeAtIndexPath:">&nbsp;&nbsp;&nbsp;&nbsp;- calculatedSizeForNodeAtIndexPath:</option>
<option value="//api/name/configureContentView:forIndexPath:">&nbsp;&nbsp;&nbsp;&nbsp;- configureContentView:forIndexPath:</option>
<option value="//api/name/configureTableViewCell:forIndexPath:">&nbsp;&nbsp;&nbsp;&nbsp;- configureTableViewCell:forIndexPath:</option>
<option value="//api/name/numberOfSizedSections">&nbsp;&nbsp;&nbsp;&nbsp;- numberOfSizedSections</option>
<option value="//api/name/rebuildData">&nbsp;&nbsp;&nbsp;&nbsp;- rebuildData</option>
<option value="//api/name/visibleNodeIndexPathsDidChange">&nbsp;&nbsp;&nbsp;&nbsp;- visibleNodeIndexPathsDidChange</option>
<option value="//api/name/visibleNodeIndexPathsDidChangeWithScrollDirection:">&nbsp;&nbsp;&nbsp;&nbsp;- visibleNodeIndexPathsDidChangeWithScrollDirection:</option>
@@ -92,10 +78,6 @@
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/delegate">delegate</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/tuningParameters">tuningParameters</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/workingRangeCalculationBlock">workingRangeCalculationBlock</a></span></li>
</ul></li>
@@ -104,19 +86,9 @@
<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/appendNodesWithIndexPaths:">appendNodesWithIndexPaths:</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/configureContentView:forCellNode:">configureContentView:forCellNode:</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/calculatedSizeForNodeAtIndexPath:">calculatedSizeForNodeAtIndexPath:</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/configureContentView:forIndexPath:">configureContentView:forIndexPath:</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/configureTableViewCell:forIndexPath:">configureTableViewCell:forIndexPath:</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/numberOfSizedSections">numberOfSizedSections</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/rebuildData">rebuildData</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/visibleNodeIndexPathsDidChange">visibleNodeIndexPathsDidChange</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/visibleNodeIndexPathsDidChangeWithScrollDirection:">visibleNodeIndexPathsDidChangeWithScrollDirection:</a></span></li>
</ul></li>
@@ -143,6 +115,9 @@
<tr>
<td class="specification-title">Inherits from</td>
<td class="specification-value">ASDealloc2MainObject</td>
</tr><tr>
<td class="specification-title">Conforms to</td>
<td class="specification-value">ASDataControllerDelegate</td>
</tr><tr>
<td class="specification-title">Declared in</td>
<td class="specification-value">ASRangeController.h</td>
@@ -177,43 +152,13 @@ cancelling their asynchronous layout and display, and so on).</p>
<ul class="task-list">
<li>
<span class="tooltip">
<code><a href="#//api/name/rebuildData">&ndash;&nbsp;rebuildData</a></code>
<code><a href="#//api/name/visibleNodeIndexPathsDidChangeWithScrollDirection:">&ndash;&nbsp;visibleNodeIndexPathsDidChangeWithScrollDirection:</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/visibleNodeIndexPathsDidChange">&ndash;&nbsp;visibleNodeIndexPathsDidChange</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/numberOfSizedSections">&ndash;&nbsp;numberOfSizedSections</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/configureTableViewCell:forIndexPath:">&ndash;&nbsp;configureTableViewCell:forIndexPath:</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/configureContentView:forIndexPath:">&ndash;&nbsp;configureContentView:forIndexPath:</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/calculatedSizeForNodeAtIndexPath:">&ndash;&nbsp;calculatedSizeForNodeAtIndexPath:</a></code>
</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/appendNodesWithIndexPaths:">&ndash;&nbsp;appendNodesWithIndexPaths:</a></code>
<code><a href="#//api/name/configureContentView:forCellNode:">&ndash;&nbsp;configureContentView:forCellNode:</a></code>
</span>
@@ -223,18 +168,6 @@ cancelling their asynchronous layout and display, and so on).</p>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/tuningParameters">&nbsp;&nbsp;tuningParameters</a></code>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/workingRangeCalculationBlock">&nbsp;&nbsp;workingRangeCalculationBlock</a></code>
</span>
<span class="task-item-suffix">property</span>
</li>
</ul>
@@ -276,88 +209,6 @@ cancelling their asynchronous layout and display, and so on).</p>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/tuningParameters" title="tuningParameters"></a>
<h3 class="subsubtitle method-title">tuningParameters</h3>
<div class="method-subsection brief-description">
<p>Tuning parameters for the working range.</p>
</div>
<div class="method-subsection method-declaration"><code>@property (nonatomic, assign) ASRangeTuningParameters tuningParameters</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>Defaults to a trailing buffer of one screenful and a leading buffer of two screenfuls.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/workingRangeCalculationBlock" title="workingRangeCalculationBlock"></a>
<h3 class="subsubtitle method-title">workingRangeCalculationBlock</h3>
<div class="method-subsection brief-description">
<p>An optional block which can perform custom calculation for working range.</p>
</div>
<div class="method-subsection method-declaration"><code>@property (nonatomic, readwrite, copy) asrangecontroller_working_range_calculation_block_t workingRangeCalculationBlock</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>Can be used to provide custom working range logic for custom layouts.</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
@@ -377,105 +228,8 @@ cancelling their asynchronous layout and display, and so on).</p>
<h2 class="subtitle subtitle-methods">Instance Methods</h2>
<div class="section-method">
<a name="//api/name/appendNodesWithIndexPaths:" title="appendNodesWithIndexPaths:"></a>
<h3 class="subsubtitle method-title">appendNodesWithIndexPaths:</h3>
<div class="method-subsection brief-description">
<p>Notify the receiver that its data source has been updated to append the specified nodes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)appendNodesWithIndexPaths:(id)<em>indexPaths</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<dl class="argument-def parameter-def">
<dt><em>indexPaths</em></dt>
<dd><p>Array of NSIndexPaths for the newly-sized nodes.</p></dd>
</dl>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/calculatedSizeForNodeAtIndexPath:" title="calculatedSizeForNodeAtIndexPath:"></a>
<h3 class="subsubtitle method-title">calculatedSizeForNodeAtIndexPath:</h3>
<div class="method-subsection brief-description">
<p>Query the sized node at <code>indexPath</code> for its calculatedSize.</p>
</div>
<div class="method-subsection method-declaration"><code>- (CGSize)calculatedSizeForNodeAtIndexPath:(id)<em>indexPath</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<dl class="argument-def parameter-def">
<dt><em>indexPath</em></dt>
<dd><p>The index path for the node of interest.</p>
<p>TODO: Currently we disallow direct access to ASCellNode outside ASRangeController since touching the node&rsquo;s view can
break async display. We should expose the node anyway, possibly with an assertion guarding against external
use of the view property, so ASCellNode can support configuration for UITableViewCell properties (selection
style, separator style, etc.) and ASTableView can query that data.</p></dd>
</dl>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/configureContentView:forIndexPath:" title="configureContentView:forIndexPath:"></a>
<h3 class="subsubtitle method-title">configureContentView:forIndexPath:</h3>
<a name="//api/name/configureContentView:forCellNode:" title="configureContentView:forCellNode:"></a>
<h3 class="subsubtitle method-title">configureContentView:forCellNode:</h3>
@@ -485,7 +239,7 @@ style, separator style, etc.) and ASTableView can query that data.</p></dd>
<div class="method-subsection method-declaration"><code>- (void)configureContentView:(id)<em>contentView</em> forIndexPath:(id)<em>indexPath</em></code></div>
<div class="method-subsection method-declaration"><code>- (void)configureContentView:(id)<em>contentView</em> forCellNode:(id)<em>node</em></code></div>
@@ -498,8 +252,8 @@ style, separator style, etc.) and ASTableView can query that data.</p></dd>
</dl>
<dl class="argument-def parameter-def">
<dt><em>indexPath</em></dt>
<dd><p>Index path for the node to be added.</p></dd>
<dt><em>node</em></dt>
<dd><p>The ASCellNode to be added.</p></dd>
</dl>
</div>
@@ -525,138 +279,8 @@ style, separator style, etc.) and ASTableView can query that data.</p></dd>
</div>
<div class="section-method">
<a name="//api/name/configureTableViewCell:forIndexPath:" title="configureTableViewCell:forIndexPath:"></a>
<h3 class="subsubtitle method-title">configureTableViewCell:forIndexPath:</h3>
<div class="method-subsection brief-description">
<p>Configure the specified UITableViewCell&rsquo;s content view, and apply properties from ASCellNode.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)configureTableViewCell:(id)<em>cell</em> forIndexPath:(id)<em>indexPath</em></code></div>
<div class="method-subsection arguments-section parameters">
<h4 class="method-subtitle parameter-title">Parameters</h4>
<dl class="argument-def parameter-def">
<dt><em>cell</em></dt>
<dd><p>UITableViewCell to configure.</p></dd>
</dl>
<dl class="argument-def parameter-def">
<dt><em>indexPath</em></dt>
<dd><p>Index path for the node of interest.</p></dd>
</dl>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/numberOfSizedSections" title="numberOfSizedSections"></a>
<h3 class="subsubtitle method-title">numberOfSizedSections</h3>
<div class="method-subsection brief-description">
<p>ASTableView is only aware of nodes that have already been sized.</p>
</div>
<div class="method-subsection method-declaration"><code>- (NSInteger)numberOfSizedSections</code></div>
<div class="method-subsection discussion-section">
<h4 class="method-subtitle">Discussion</h4>
<p>Custom ASCellNode implementations are encouraged to have &ldquo;realistic placeholders&rdquo;, since they can only be onscreen if
they have enough data for layout. E.g., try setting all subnodes' background colours to [UIColor lightGrayColor].</p>
</div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/rebuildData" title="rebuildData"></a>
<h3 class="subsubtitle method-title">rebuildData</h3>
<div class="method-subsection brief-description">
<p>Notify the receiver that its delegate&rsquo;s data source has been set or changed. This is like -[UITableView reloadData]
but drastically more expensive, as it destroys the working range and all cached nodes.</p>
</div>
<div class="method-subsection method-declaration"><code>- (void)rebuildData</code></div>
<div class="method-subsection declared-in-section">
<h4 class="method-subtitle">Declared In</h4>
<code class="declared-in-ref">ASRangeController.h</code><br />
</div>
</div>
<div class="section-method">
<a name="//api/name/visibleNodeIndexPathsDidChange" title="visibleNodeIndexPathsDidChange"></a>
<h3 class="subsubtitle method-title">visibleNodeIndexPathsDidChange</h3>
<a name="//api/name/visibleNodeIndexPathsDidChangeWithScrollDirection:" title="visibleNodeIndexPathsDidChangeWithScrollDirection:"></a>
<h3 class="subsubtitle method-title">visibleNodeIndexPathsDidChangeWithScrollDirection:</h3>
@@ -666,7 +290,7 @@ but drastically more expensive, as it destroys the working range and all cached
<div class="method-subsection method-declaration"><code>- (void)visibleNodeIndexPathsDidChange</code></div>
<div class="method-subsection method-declaration"><code>- (void)visibleNodeIndexPathsDidChangeWithScrollDirection:(id)<em>scrollDirection</em></code></div>
@@ -717,7 +341,7 @@ but drastically more expensive, as it destroys the working range and all cached
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2014 Facebook. All rights reserved. (Last updated: 2014-12-03)</span><br />
<p><span class="copyright">&copy; 2015 Facebook. All rights reserved. (Last updated: 2015-01-05)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>