Где добавить наблюдателя в NotificationCenter в UITableViewController

Я хочу отправить уведомление из UITableViewController-A в UITableViewController-B.

Я добавлял наблюдателя в initwithCoder UITableViewController, который должен перехватывать уведомления.

Классы соотносятся следующим образом

RootViewController
===NavigationController-A
=====UITableViewController-A
===NavigationController-B
=====UITableViewController-B

Мне нужно добавить наблюдателя до того, как представления будут фактически загружены, потому что уведомления могут быть отправлены до вызова представления.

Однако мне сказали, что инициализация в методе initWithCoder в UIViewController не рекомендуется, и мне сказали добавить наблюдателя в AppDelegate.

Есть ли другие предложения для этого?


person Saifis    schedule 30.04.2010    source источник


Ответы (1)


Я бы реализовал проводку уведомлений в «viewDidLoad», а затем принудительно загрузил бы оба контроллера представления. Чтобы принудительно загрузить представления, получите «UITableViewController-A.view». Он увидит, что представление не инициализировано, и загрузит представление из пера, а затем выполнит «viewDidLoad».

person Brian King    schedule 30.04.2010
comment
Спасибо, это сработало отлично! Я добавил указатель UITableViewController-A в AppDelegate и связал его в InterfaceViwer, затем сделал представление [UITableViewController-A] в didFinishLaunchingWithOptions(applicationDidFinishLaunching?) в делегате приложения. - person Saifis; 03.05.2010