Настройка делегата в awakeFromNib

У меня есть ViewController в Interface Builder, в который встроен TableViewController (я повторно использую функциональность TableViewController в другом месте). Мне нужно установить делегата в TabelViewController обратно в UIViewController, в который он встроен, чтобы я мог использовать NavigationController UIViewController (щелкните строку во встроенном TableViewController, появится новый ViewController....).

У меня есть делегат, чтобы все это работало, единственная проблема, с которой я столкнулся, это где установить делегата. Я читал, что awakeFromNib вызывается после считывания пера и установки всех IBOutlets (встроенный TableViewController является IBOutlet). Я могу просмотреть код и увидеть, что эта функция вызывается при первом запуске приложения. Однако, когда я позже вызываю делегата (при щелчке строки), делегатом является null. Если я установлю делегата в viewDidLoad, все будет отлично работать.

Есть идеи, почему не работает awakeFromNib? Должен ли я делать это в viewDidLoad в любом случае?

Спасибо!


person Tyler DeWitt    schedule 04.10.2011    source источник


Ответы (1)


Подробнее о том, почему ваш метод awakeFromNib не работает должным образом, можно прочитать здесь: Почему мой awakeFromNib не срабатывает ?

Метод viewDidLoad — идеальное место для установки UITableViewDelegate без каких-либо реальных преимуществ от его установки в других методах.

person Or Ron    schedule 04.10.2011