1

在 ARC 项目中addObserverviewDidLoad:removeObserver:dealloc. 但是在我弹出 viewController 之后,dealloc并没有执行。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(refreshData)
                                                 name:MyNotification
                                               object:nil];
}

- (void)dealloc
{
    NSLog(@"==================");//There is nothing print out.
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MyNotification
                                                  object:nil];
}

谢谢。

4

1 回答 1

5

这可能是您启用了 nszobie 对象,禁用它们。我不知道为什么,但是如果在 arc 中启用了 nszombie,则不会调用 dealloc。

转到产品>编辑方案>取消选中启用僵尸

于 2012-05-17T06:27:49.790 回答