Ios UITableView与UICollectionView

Ios UITableView与UICollectionView,ios,uitableview,ipad,uicollectionview,Ios,Uitableview,Ipad,Uicollectionview,我有一个UITableView,其中tableview的每一行都有uicollectionview数据。 我面临的问题是UITableView大约有800-1000行,而每行几乎有200-400个uicollectionview单元格 当我开始滚动uicollectionview和/或uitableview时,它会变慢,有时会因为内存警告而崩溃 我理解这个原因是因为有大量的数据。但是我想知道动态加载和卸载数据的最佳方法,这样数据就不会出现内存错误,也不会变慢 请建议 谢谢也许您只能在表格未滚动时

我有一个UITableView,其中tableview的每一行都有uicollectionview数据。 我面临的问题是UITableView大约有800-1000行,而每行几乎有200-400个uicollectionview单元格

当我开始滚动uicollectionview和/或uitableview时,它会变慢,有时会因为内存警告而崩溃

我理解这个原因是因为有大量的数据。但是我想知道动态加载和卸载数据的最佳方法,这样数据就不会出现内存错误,也不会变慢

请建议


谢谢

也许您只能在表格未滚动时加载显示单元格的数据,并防止在表格滚动时加载单元格的数据。(检查scroll view委派功能,它可能会向您指示表格的滚动和减速)。

我绝对建议对放置在表格内的UITableView和UICollectionView使用分页功能。
良好的做法是只预加载10-20个元素。如果用户滚动到列表的末尾,应用程序将加载下一页(10-20个元素)

在您的情况下,将有两种类型的分页:
1。UITableView的垂直分页。
当用户向下滚动到表格列表的末尾时,应用程序将加载下10个表格单元格的数据。每个单元格将为单元格内的收集视图加载10个项目的数据。
2。UICollectionView的水平分页。 当用户向右滚动到采集列表的末尾时,应用程序将加载下10个采集单元的数据

在大多数情况下,用户不会加载很多页面,因此动画将是平滑的,并且不会崩溃。

为了减少用户仍然向下和向右加载数百行的情况,您可以在视图控制器中实现方法
-(void)didReceiveMemoryWarning
。使用此方法,您可以释放与当前屏幕上未显示的单元格相关的大量数据(图像、视频)。

您不能只使用一个集合视图,而使用多个分区吗?也就是说,将每组项目放在一个表视图单元格中,每个部分对应一个部分。如果正确回收,就不会有问题。你能发布你的代码吗?我正在从字典和数组中的核心数据中检索这些完整数据,然后用该字典/数组填充UITableView和UICollectionView。我已尝试检查内存消耗情况。每当我滚动时,它会不断增加内存,当它达到200mb以上时,它会发出内存警告,然后崩溃。