我用可重复使用的单元构建了一个UITableView。在我的代码中的某个时刻,我需要访问某个indexPath的单元格,所以我调用
MyCell *cell = (MyCell *) [tableView cellForRowAtIndexPath:indexPath];
有时(通常是第一次)调用它,可能需要0.5到1秒。
是什么导致这种情况,我该如何预防?
我检查了
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
被调用作为对cellForRowAtIndexpath的反应:但它没有。
编辑:
我刚做了另一个测试,如果我打电话
也需要很长时间 [tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];
无论先被称为什么,都会有半秒的延迟
答案 0 :(得分:0)
首先调用[tableView reloadData]
,这可能会强制tableview加载其数据。但是,如果屏幕上看不到某个单元格,则可能无法将其加载到内存中。