PresentingViewController всегда получает UITabBarController

Я просто добавляю TabBarController + NavigationController. До этого все было хорошо, но теперь, когда я вызываю PresentingViewController из модального окна, я получаю эту ошибку:

Завершение приложения из-за неперехваченного исключения 'NSInvalidArgumentException', причина: '-[UITabBarController tableViewListado]: нераспознанный селектор отправлен экземпляру

Вместо получения ожидаемого объекта (ViewController) я получаю «UITabBarController», должен ли я каким-то другим способом получить представляющий контроллер при использовании контроллеров TabBar и Nav?

Без TabBar/Nav я использовал это:

ViewController *parentView = (ViewController *)[self presentingViewController]; 

[parentView something];

Редактировать:

Просто узнайте, что если я сделаю это, это сработает, но не думаю, что на самом деле это лучший способ сделать это:

ViewController *parentView = (ViewController *)[(UINavigationController *)[((UITabBarController *)[self presentingViewController] ) selectedViewController] topViewController]  ;

[parentView something];
9
задан dimirc 5 June 2012 в 16:44
поделиться