ios - 一次在 Firebase 中填充一组单元格的 UITableView
<p><p>我正在使用 Firebase 填充 <code>UITableView</code>。</p>
<p>我想知道是否可以让 Firebase 下载前 5 个结果,并且在用户滚动到最后一个结果后,下载接下来的 5 个结果。</p>
<p>目前,Firebase 会一次下载我的所有子节点,但如果它一点一点下载,则 View 加载速度会更快。</p>
<p>有什么建议吗?</p>
<p>--编辑</p>
<p>请务必注意,单元格中有图像。图片是 base64 编码的 <code>NSString</code>。这是我用来检索它们并将它们转换为 <code>UIImage</code>s</p> 的代码
<pre><code>NSString* profPicString = ;
NSData *dataFromBase64 = ;
UIImage *profPicImage = [initWithData:dataFromBase64];
item.profilePicture = profPicImage;
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><h2>初步想法</h2>
<p>我不知道是否有理想的解决方案,但我肯定会研究 <a href="https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-complex-queries" rel="noreferrer noopener nofollow">complex queries</a>在 Firebase 的文档中。您可以使用 <code>queryStartingAtValue</code> 和 <code>queryEndingAtValue</code> 方法查询某些范围,但您必须确保您的 Firebase 设置正确才能使用这些。</p>
<p>在 Range Queries 部分的底部,它提到:</p>
<blockquote>
<p>Range queries are also useful when you need to paginate your data.</p>
</blockquote>
<p>所以这可能是您理想的解决方案。</p>
<h2>现有解决方案</h2>
<p>有一个 <a href="https://stackoverflow.com/questions/29569504/how-do-i-perform-a-pagination-query-on-firebases-ios-sdk" rel="noreferrer noopener nofollow">answer</a>我发现它使用了我上面提到的东西,所以希望它对你有用。我要补充一点,在我的 firebase 上使用这些范围查询方法时运气不佳。</p>
<h2>最后的想法</h2>
<p>另一个解决方案可能不是您想听到的答案,但 URL(希望)比 base64 编码的图像短很多,并且在处理大量数据时可能会在下载时间上产生很大差异。通过此实现,您只在需要时从服务器请求图像,而不是一次全部请求。</p></p>
<p style="font-size: 20px;">关于ios - 一次在 Firebase 中填充一组单元格的 UITableView,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/34403886/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/34403886/
</a>
</p>
页:
[1]