带KVO的UITableViewCell
我有一个自定义表视图单元格,它还使用以下方法观察另一个对象的键:带KVO的UITableViewCell,uitableview,key-value-observing,Uitableview,Key Value Observing,我有一个自定义表视图单元格,它还使用以下方法观察另一个对象的键: [_anotherObject addObserver:myCell forKeyPath:@"killed" options:NSKeyValueObservingOptionNew context:0]; \u另一个对象是自定义表视图单元格类中的ivar 我知道我应该在某个时候将myCell作为观察者删除,但我不
[_anotherObject addObserver:myCell
forKeyPath:@"killed"
options:NSKeyValueObservingOptionNew
context:0];
\u另一个对象
是自定义表视图单元格类中的ivar
我知道我应该在某个时候将myCell作为观察者删除,但我不知道什么时候该删除
据我所知,可能的位置有:
-dealloc
&-prepareforeuse
向UITableViewCell子类添加dealloc方法:
-(void)dealloc {
for (AnotherObject *object in self.subviews) {
if ([object isKindOfClass:[AnotherObject class]]) {
[object removeObserver:self forKeyPath:@"killed"];
}
}
}
类似的东西应该适合你。这样,您就不会再收到那些令人讨厌的“类AnotherObject的实例0x21bb1010被释放,而键值观察器仍在向其注册”消息 向UITableViewCell子类添加dealloc方法:
-(void)dealloc {
for (AnotherObject *object in self.subviews) {
if ([object isKindOfClass:[AnotherObject class]]) {
[object removeObserver:self forKeyPath:@"killed"];
}
}
}
类似的东西应该适合你。这样,您就不会再收到那些令人讨厌的“类AnotherObject的实例0x21bb1010被释放,而键值观察器仍在向其注册”消息