【发布时间】:2012-09-23 19:51:50
【问题描述】:
当我在视图控制器的-viewDidLoad: 方法中将-addObserverForName: object: queue: usingBlock: 用于NSNotificationCenter 时,-dealloc 方法最终不会被调用。
(当我删除 -addObserverForName: object: queue: usingBlock: 时,-dealloc 会再次被调用。)
使用-addObserver: selector: name: object:似乎没有这个问题。我究竟做错了什么? (我的项目使用的是 ARC。)
下面是我的实现示例,以防我在这里做错了:
[[NSNotificationCenter defaultCenter] addObserverForName:@"Update result"
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
updateResult = YES;
}];
提前感谢您的帮助。
我尝试添加以下内容(无济于事):
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if ([self isMovingFromParentViewController]) {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
}
【问题讨论】:
标签: iphone ios uiviewcontroller nsnotificationcenter dealloc