我有一个像Facebook的新闻一样的列表,我的用户有很多新闻,我必须像Facebook那样向他们展示。
首先,我创建一个NSObject类来生成每个单元格的对象。然后我创建一个用这个对象类初始化的UIViewController。该控制器是每个对象的单元格。
-(id)initWithNewsObject:(NewsObject *)new Delegate:(id)delegate{
self=[super init];
if(self)
{
_delegate=delegate;
_new=[[NewsObject alloc]initWithNewsObject:new];
}
return self;}
所以我在主视图控制器中使用for循环创建新闻列表。
这是我的问题,列表结构中哪一个确保最佳性能?使用for循环或使用TableView列出单元格?
答案 0 :(得分:1)
Tableview将会更好,因为您不必手动管理scrollView的内容大小,特别是如果您不需要任何缩放或水平平移支持。 Tableview还内置了一些漂亮的延迟加载,因此您不必为屏幕上加载的所有对象管理内存。
我认为使用具有可变单元格大小或自定义单元格的tableView绝对是可行的方法。
答案 1 :(得分:1)
放下表格视图。
表视图将仅在需要时显示/隐藏/重新创建单元格,并且从设备到设备,它将自动处理这些单元格。如果您甚至尝试为自己的ScrollView执行此操作,则必须满足不同的设备大小,分辨率和方向。
如果您不为自己的ScrollView执行此操作,那么您将有很多视图只是放在内存中,而不是一个非常好的选择。
即使你成功完成了所有这些,恭喜你,你刚刚重新发明了轮子,你刚刚创建了自己的MyTableView而不是UITableView
。
答案 2 :(得分:1)
表格视图。
想象一下,用户继续滚动数百个“单元格”。您必须手动管理数百个视图控制器的内存,而iOS则通过表视图中的出列方法处理它们。
它会自动为您回收细胞,您可以根据细胞的类型(图像,文本,视频等)使内容大小不同。