【发布时间】:2014-06-18 17:41:35
【问题描述】:
我有一个UIPageViewController,其中每个页面的视图都包含一个UITableView。我想在控制器之间进行分页时提高性能。
我会在方便的时候在当前页面的任一侧预加载一些控制器,并询问他们的视图以确保提前呈现所有内容。但真正的瓶颈实际上是 tableview 的单元格,它们没有被预加载:
MyViewController *vc = [[MyViewController alloc] initWithNibName:nil bundle:nil];
[vc view];
NSLog(@"view: %@", vc.view); // view exists
[vc tableview];
NSLog(@"tableview: %@", vc.tableview); // tableview exists
UITableViewCell *cell = [vc.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
NSLog(@"cell: %@", cell); // cell is null??
如日志所示,直到 tableview 实际出现在屏幕上,单元格本身才会被加载。
如何让屏幕外的UITableView 提前出列其可见单元格?
【问题讨论】:
-
细胞长什么样?你剖析过吗?听起来这可能是图像解压缩的问题,在这种情况下,您可以进行一些明确的优化。您能否提供单元格的屏幕截图?
-
没有图像,当然我可以对单元格进行一些优化。但我最感兴趣的是为什么即使明确要求表格视图也不加载单元格。
标签: ios cocoa-touch uitableview uipageviewcontroller