У меня есть две вкладки на UITabBarController
, и я зарегистрировал оба с NSNotificationCenter
, моя проблема в том, что я не получаю уведомления на скрытой вкладке (т. Е. Ее не называется viewDidAppear:
). Я считаю, что контроллеры не на экране (т. Е. Скрытые) не отвечают на NSNotifications
. Я могу сделать что-то по-другому, но это не проблема, но я просто хочу проверить, почему скрытая вкладка не получает уведомление в случае, если я упустил что-то еще, и он действительно должен работать ...Скрытые представления отвечают на NSNotifications?
EDIT:
@Fab1n указал мне в правильном направлении, я ошибочно использовал viewWillDisappear:
, чтобы удалить наблюдателя, поэтому, когда исчезло представление, больше не было прослушивания уведомлений. Я перевещу его на dealloc
.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter removeObserver:self];
}
Изменен:
- (void)dealloc {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter removeObserver:self];
}
Очень высокую оценку.
Когда вы регистрируетесь и отмените регистрацию для уведомлений? Можете ли вы показать этот код? – jrturton
Я бы перефразировал вопрос «Не исчезли ли контроллеры представлений реагировать на NSNotifications»? – voromax
use viewWillAppear – Rajneesh071