Как лучше добавить/удалить Observer с помощью NSNotificationCenter?

Я использовал addObserverв viewDidLoad:и removeObserverв Dealloc:. Код:

- (void)viewDidLoad
{
    [super viewDidLoad];

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

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:AnyNotification
                                                  object:nil];
}

Но согласно некоторым статьям, лучше addObserverв viewDidAppear:и removeObserverв viewDidDisappear:. Код:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

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

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:AnyNotification
                                                  object:nil];
}

Итак, как лучше добавить/удалить Observer?

23
задан fannheyward 17 May 2012 в 07:09
поделиться