1

Я работаю над приложением на основе представления. В этом я имею два контроллера просмотра. Это: Rootviewcontroller и Detailviewcontroller.Доступ к методам pushViewController от popViewController

Теперь я передаю значения в Detailviewcontroller с помощью метода pushViewController. Он работает нормально. Но теперь, когда я выхожу из этого Detailviewcontroller, я должен получить доступ к myfunction в Rootviewcontroller. Возможно ли это предложить?

Любая помощь будет оценена!

-Sathiya

ответ

4

вызов MyFunction в viewWillAppear По мнению контроллера корневого: (BOOL) анимационный метод или viewDidAppear: (BOOL) анимационный метод, в зависимости от того, когда вы хотите его назвать. таким образом, всякий раз, когда этот контроллер появляется, код будет работать.

0

Я действительно не понимаю ваш вопрос на 100%, но я думаю, что вы хотите получить доступ к методам Root ViewController из другого контроллера просмотра далее в стек?

Вы можете сделать что-то подобное в DetailViewController:

RootViewController *rootViewController = (RootViewController*)self.navigationController.topViewController; 

Теперь, когда у вас есть ссылка на корень, вы можете вызвать его методы, как вы хотите.

+0

Да, я хочу получить доступ к методам Rootviewcontroller с другого контроллера. В соответствии с вашим предложением я попробовал и методы rootviewcontroller, но приложение прекращается. Есть ли другое решение? – Sathiya

0

Хранить экземпляр rootViewController в AppDelegate.

// AppDelegate.h 
RootViewController* rootViewController; 

Добавить способ доступа к реализации.

// AppDelegate.m  
- (UIViewController*) GetRootViewController { 
    return rootViewController; 
} 

Вызовите этот метод, чтобы получить rootViewController из любого места в вашем приложении.

UIViewController* controller = 
    [(AppDelegate*)[[UIApplication sharedApplication] delegate] GetRootViewController]; 
Смежные вопросы