首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从UITableView中获取所有加载的单元格?

如何从UITableView中获取所有加载的单元格?
EN

Stack Overflow用户
提问于 2014-08-26 15:24:50
回答 2查看 642关注 0票数 0

我有一个UITableView,其中有需要观察的单元格中的对象。当我导航到另一个视图时,需要移除这些观察者。给[tableView visibleCells]打个电话会让我得到所有当前加载的单元吗?

我的细胞高度为3-400 My,因此每次只能重复使用3-4个不同的细胞。在任何时间点,两个单元可能是可见的,或者三个单元可能是可见的。当我调用visibleCells时,我会接收屏幕上实际可见的,还是会接收所有通过cellForRowAtIndexPath 尚未退出队列以重新使用的单元

文档简单地声明了Returns the table cells that are visible in the receiver. . Return Value: An array containing UITableViewCell objects, each representing a visible cell in the receiving table view.

它们是指当前屏幕上实际表示的可见吗?或者是可见的,因为它对tableView是可见的,但不一定是对用户(即没有在屏幕上表示)?

EN

回答 2

Stack Overflow用户

发布于 2014-08-26 15:29:29

假设visibleCells使用indexPathsForVisibleRows,那么它就意味着可见(就像在屏幕上一样!)如果没有,那仍然是BTW :D的意思。

恐怕没有公开的方法来获取所有加载的单元格。什么是hackisch但有效的(!)是枚举tableView的子视图;)

票数 2
EN

Stack Overflow用户

发布于 2014-08-28 10:36:37

1) visibleCells只返回用户可以看到的内容,并且可能还有其他已实例化并位于“队列”中的用户。

2) addObserver:forKeyPath:options:context:不保留观察者,并要求您在它被释放之前保留removeObserver。在您的情况下,我建议您在自定义removeObserver的dealloc方法中调用UITableViewCell

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25509592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档