Ios 如何使我的UITableView请求可见表外的X个下一个单元格?

Ios 如何使我的UITableView请求可见表外的X个下一个单元格?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我想让我的UITableView在表外加载3或4个单元格,这样当我向下滚动时,将在表中显示的任何数据都已加载 我有一些图像和数据,必须先下载才能在手机中显示。 这会导致在滚动时加载图像之前出现可见延迟 我可以在UITableViewDataSource tableView:cellforrowatinexpath:方法中手动触发此数据的加载。我以前做过,但我很好奇是否有更简单的方法 有没有办法扩展可重用单元池,或者调整单元的加载/回收方式 编辑: 为了澄清这一点,我在适当的地方延迟加载了图像和数

我想让我的UITableView在表外加载3或4个单元格,这样当我向下滚动时,将在表中显示的任何数据都已加载

我有一些图像和数据,必须先下载才能在手机中显示。 这会导致在滚动时加载图像之前出现可见延迟

我可以在
UITableViewDataSource tableView:cellforrowatinexpath:
方法中手动触发此数据的加载。我以前做过,但我很好奇是否有更简单的方法

有没有办法扩展可重用单元池,或者调整单元的加载/回收方式

编辑:

为了澄清这一点,我在适当的地方延迟加载了图像和数据

一切正常,我只是想要一个简单的“预取”问题的解决方案。
这可以通过许多与视图本身无关的方式来解决。现在,您可以在滚动时轻松查看加载的图像。我只是想让它们在可见之前加载。

如果单元格的数据将在cel可见时加载,您可以通过编程方式滚动表格视图,滚动到底部单元格并返回第一个单元格,而无需动画。另一种方法是创建所有单元格,并在创建视图控制器时将其放入数组中,然后从包含已创建单元格的数组中馈送表。我认为没有办法像你要求的那样扩大手机池。希望这有帮助,祝你好运

如果cel可见时将加载单元格数据,则可以通过编程方式滚动表格视图,滚动到底部单元格,然后返回到第一个单元格,而无需动画。另一种方法是创建所有单元格,并在创建视图控制器时将其放入数组中,然后从包含已创建单元格的数组中馈送表。我认为没有办法像你要求的那样扩大手机池。希望这有帮助,祝你好运

您可能正在寻找异步加载数据的异步表视图

苹果提供了一个示例应用程序,演示了这一点:

当然,您可以预缓存数据,并在数据滚动之前开始将数据下载到数据源中


一般的想法是将数据加载到数据源(与UI分离),因此可以在任何时候(以及在后台)执行此操作。如果数据尚未加载,则可以显示临时数据或某种类型的加载图像或微调器。

您可能正在寻找异步加载数据的异步表视图

苹果提供了一个示例应用程序,演示了这一点:

当然,您可以预缓存数据,并在数据滚动之前开始将数据下载到数据源中


一般的想法是将数据加载到数据源(与UI分离),因此可以在任何时候(以及在后台)执行此操作。如果数据尚未加载,您可以显示临时数据或某种类型的加载图像或微调器。

您可以使用NSO操作执行延迟加载?@carlvaezey当然,我以前做过。我只是想要一个“快捷方式”:)你可以使用NSO操作并执行延迟加载吗?@Carlvaezey当然,我以前做过。我只是想要一个“快捷方式”:)数据已经在缓慢加载。一切都很顺利,反应迅速。我只是想作弊一下,这样我就可以开始加载例如8而不是5个单元格的内容,而不添加复杂的预加载逻辑。我会认为这是最简单的解决方案,即使它没有明确回答我的问题。@Naller,你可以在
CellForRowatineXpath
中进行前瞻。只需加载行
indexPath.row
+n.Sure。这正是我以前做过的。我只是想免费下载。数据已经在缓慢加载了。一切都很顺利,反应迅速。我只是想作弊一下,这样我就可以开始加载例如8而不是5个单元格的内容,而不添加复杂的预加载逻辑。我会认为这是最简单的解决方案,即使它没有明确回答我的问题。@Naller,你可以在
CellForRowatineXpath
中进行前瞻。只需加载行
indexPath.row
+n.Sure。这正是我以前做过的。我只是想要这个“免费”。谢谢,没有动画的滚动技巧实际上有点聪明。不过,它不适合用户连续滚动表格。谢谢,没有动画的滚动技巧实际上有点聪明。但是,对于用户连续滚动表格来说,它不起作用。