1

ARCプロジェクトでは、内と内でaddObserver通知を受け取ります。しかし、viewControllerをポップした後、は実行されません。viewDidLoad:removeObserver:deallocdealloc

- (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 オブジェクトを有効にしている可能性があります。それらを無効にします。理由はわかりませんが、アークで nszombie が有効になっている場合、dealloc は呼び出されません。

製品に移動>スキームを編集>ゾンビを有効にするのチェックを外します

于 2012-05-17T06:27:49.790 に答える