我正在尝试找到保存应用用户多长时间查看每个UITableViewCell的最佳方法,以实现优化和指标。我还没有找到可以监控它的工具(Parse,AppSee等),所以我手动完成。问题是,它的效率令人难以置信。
- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
UITableView *tableView = self.tableView; // Or however you get your table view
NSArray *paths = [tableView indexPathsForVisibleRows];
// For getting the cells themselves
NSMutableSet *visibleCells = [[NSMutableSet alloc] init];
for (NSIndexPath *path in paths) {
NSLog(@"visible: %i", path.row);
[visibleCells addObject:[tableView cellForRowAtIndexPath:path]];
}
}
一旦看不到,我就会启动NSTimer,当它不再可见时停止它。 这有很多缺陷:
我的解决方案显然不是最佳选择。有更好的方法吗?欢迎您的解决方案
答案 0 :(得分:3)
使用表视图委托方法和视图控制器显示方法。具体做法是:
tableView:willDisplayCell:forRowAtIndexPath:
tableView:didEndDisplayingCell:forRowAtIndexPath:
viewDidDisappear: