Доступ к методам pushViewController из popViewController - PullRequest
1 голос
/ 23 октября 2009

Я работаю над приложением, основанным на представлении. В этом у меня есть два viewcontrollers. Это: Rootviewcontroller и Detailviewcontroller.

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

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

-Sathiya

Ответы [ 3 ]

4 голосов
/ 23 октября 2009

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

0 голосов
/ 11 февраля 2010

Сохранение экземпляра rootViewController в AppDelegate.

// AppDelegate.h
RootViewController* rootViewController;

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

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

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

UIViewController* controller =
    [(AppDelegate*)[[UIApplication sharedApplication] delegate] GetRootViewController];
0 голосов
/ 23 октября 2009

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

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

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

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

...