【发布时间】:2012-09-29 18:16:58
【问题描述】:
我将观察者添加到 UITableView 属性。
[tableView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
众所周知,当UIViewController被弹出时,-[UIViewController dealloc]方法被调用,-[UIViewController viewWillUnload]在收到内存警告时被调用。
我应该删除两个地方的观察者吗(好吧,无论如何我必须)?这是最好的代码重复。或者我可以在-[UIViewController dealloc] 中调用-[UIViewController viewWillUnload](如Three20 框架中所写)?这种方法好吗?
【问题讨论】:
-
弹出
UIViewController时不会调用此方法。这就是问题。 -
这回答了“我应该删除观察者吗?”这个问题,而不是“当我将观察者添加到
-[UIController view]子视图之一时如何不重复代码?”
标签: objective-c uiviewcontroller