ios - UItableViewCell : Remove observer

标签 ios uitableview key-value-observing

请帮我解决这个问题我已经在我的 uitableviewCell 上实现了 KVO

1) 我的细胞正在观察模型对象的一些属性。 2) 警告是由于多个单元观察到单元重用单个模型对象。

问题是:

1) 如何删除该模型对象的所有观察者

2) 我应该怎么做才能取消我的观察员身份。

提前致谢

安 git

最佳答案

让单个细胞观察模型可能是一个错误的决定。 UITableViewDataSource 协议(protocol)的要点是为您提供一个地方来处理模型中的更改,而无需将其直接绑定(bind)到 View 组件。 单元格可以出列(有效地删除)并由 TableView 动态出列。

如果您设置一个单独的对象作为 TableView 的数据源并接收来自模型的更改通知,那么您可以将模型与 View 分离。

这本质上是模型 > View > Controller 三位一体,我们打算按照其形象编写代码。通过在中间放置一个 Controller 对象来消除 UI 和模型之间的依赖关系。

阅读guide以获得更好的解释和指导。

如果此答案不能帮助解决确切的问题,您可以扩展您遇到的问题吗?

关于ios - UItableViewCell : Remove observer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509537/

相关文章:

ios - 如果 KVO 观察到的值在短时间内发生两次变化,那么 observeValueForKeyPath() 会发生什么?

使用 Thumbor 第三方调整图像大小时,ios SdWebImage 图像不会显示

swift - 在 Swift 中从 UITableView 中删除一行?

ios - SWIFT - table.reloadData() 没有/停止工作

objective-c - 当值改变时 KVO 不触发

ios - 在 GMSMapView 中添加和删除 KVO "myLocation"的观察者

ios - 有没有办法导出 Testflight 外部测试人员的电子邮件

objective-c - 将 NSUInteger 除以 100

ios - UIInterpolatingMotionEffect 视差效果 Swift 2 iOS

ios - 如何在 1 个 TableView Swift 4 中显示 2 种类型的单元格