NSNotification ... правильный путь? - PullRequest
0 голосов
/ 28 февраля 2011

У меня есть приложение панели вкладок, и 2 вкладки используют один и тот же класс (разные экземпляры) для отображения UITableView.В зависимости от того, какая вкладка нажата, в внешний вид, функциональность и т. Д. Внесены незначительные изменения. Проблема, с которой я столкнулся, состоит в том, что из UITableView я показываю модальное представление, а когда он отклоняется, он отправляет NSNotification для перезагрузки UITableView (обрабатываетсяКонтроллер представления UITableView), но я получил 2 NSNotifications, поскольку в моем приложении есть 2 экземпляра одного и того же класса.Как я могу получить уведомление, которое будет опубликовано только в том случае, если оно вызвано?

1 Ответ

3 голосов
/ 28 февраля 2011

Когда вы устанавливаете обработчик для NSNotification, вы можете указать object для уведомлений, которые вас интересуют.

Вы должны настроить свой первый контроллер табличного представления так, чтобы он интересовался только уведомлениями, которые публикуются из конкретного экземпляра модального контроллера представления, а ваш второй контроллер табличного представления должен интересоваться только уведомлениями, отправленными из его * 1006. * конкретный экземпляр контроллера модального вида:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handler:)
                                             name:notificationName 
                                           object:instanceOfModalViewController];

Таким образом, когда уведомление отправляется с вашего модального контроллера представления, только контроллер представления таблицы, который указал свою заинтересованность, будет обрабатывать уведомление.

...