Перезагрузите таблицу View из AppDelegate - PullRequest
7 голосов
/ 20 января 2011

У меня довольно простой вопрос, но я все еще нахожусь в какао. У меня есть нормальное приложение rootViewController, созданное в XCode. В AppDelegate у меня есть функция для обновления базы данных. Когда во время работы приходит Push-сообщение (didReceiveRemoteNotification :), данные обновляются.

Но как мне получить дескриптор на RootViewController, говорящий ему обновить его объекты и затем перезагрузить таблицу (которая является функцией)?

1 Ответ

20 голосов
/ 20 января 2011

Вы можете использовать NSNotificationCenter, см. NSNotificationCenter Class Reference

В ваших rootViewController viewDidLoad добавьте следующее:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateView:) name:@"updateRoot" object:nil];

и добавьте следующий метод:

- (void)updateView:(NSNotification *)notification {
    [myTableView reloadData]; 
}

В ваших AppDelegate didReceiveRemoteNotification добавьте следующее:

[[NSNotificationCenter defaultCenter] postNotificationName:@"updateRoot" object:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...