Objective-C:在不可见的自定义 UITableViewCell 上获取属性的值

Posted

技术标签:

【中文标题】Objective-C:在不可见的自定义 UITableViewCell 上获取属性的值【英文标题】:Objective-C: Getting Value of Property on Non-Visible Custom UITableViewCell 【发布时间】:2019-11-18 04:35:58 【问题描述】:

我一直在使用下面的代码来访问自定义 UITableViewCell 中文本字段的值。问题是,这只适用于在调用方法时可见的单元格。

NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:3];
AppointmentNotesTableViewCell *cell = [self.tableView cellForRowAtIndexPath:path];
NSString *str = cell.notesView.text;

无论单元格是否可见,是否有更好的方法来访问此信息?

【问题讨论】:

不要依赖用户界面。相反,尽可能将注释保存到您的模型中,然后从那里读取。 【参考方案1】:

那是因为不存在不可见的细胞。当您滚动表格视图时,单元格会被重用。只有那些在屏幕上可见的才能真正被访问。

所有可能在表格视图中显示的对象通常都存储在某种列表中。您需要使用@path 中的索引从列表中访问对象,而不是尝试从表视图本身访问其“渲染副本”。

【讨论】:

以上是关于Objective-C:在不可见的自定义 UITableViewCell 上获取属性的值的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Prometheus 不会在不可见的指标上引发错误?

更改 uitableviewcell 中的自定义附件视图?

Objective-C:tableview中的2个不同的自定义单元格[关闭]

UITableVIewCell 重叠图像中的自定义按钮

iOS本地化在Xcode中不适用于Objective-C中的自定义标签[关闭]

Objective-C - 给定一个 UINib 实例,我如何初始化我的自定义 UIView?