题
我是发展中iOS应用程序和有一些问题,决定如何处理一个问题。
我使用的两个UITableViewControllers显示不同的意见相同的数据。一个是一个总名单,和其它仅包含的项目,标记为"最喜爱".也项目的都是可变的高度,使我使用"heightForRowAtIndexPath"来表示高度为每个项目。问题是速度,当我从一个角度转换到另一个,它需要更新,以显示改动的其他(标最喜欢/unfavourite).
方案#1:
刷新的数据中的每一个时间表视成为可见。这不很好地工作,因为虽然数据显示使用延迟装载,"heightForRowAtIndexPath"被称为每个项目的任何数据之前装载,且其缓慢。在我的iPhone4的列表,约300项目需要大约四秒钟来载荷,即使在高度数值缓存(瓶颈是申请的高度,不检索)。
方案#2:
手动操纵表当的更改。我还没有尝试过,但这将很可能越野车。你的想法吗?
方案#3:
使用一种类型的通知系统通知其他表格的更新项目,目前可能被加载。我还没有尝试过这一点,因为它似乎在上面可能不是在所有的工作。
任何人都不会知道的一个简单的方法,以显示两种观点的相同的数据?
没有正确的解决方案
其他提示
你可以重载n行reloadRowsAtIndexPaths:withRowAnimation.我从来没有它,但我认为它的存在,因为它的速度更快,所以,你可能想试试看。
在heightForRow:啄,我可以记得读在苹果文件,这一功能的确是一个杀手的性能。也许你可以采取的最大高度的排,并设置在的时候.rowHeight?
不隶属于 StackOverflow