UIViewController不在ARC项目中调用dealloc?

时间:2012-05-17 06:18:25

标签: iphone objective-c automatic-ref-counting

在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];
}

感谢。

1 个答案:

答案 0 :(得分:5)

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

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