2015-04-26 3 views
0

У меня есть RootViewController, который использует UIPageViewController для отображения некоторых dataViewControllers, мне интересно, как я могу получить мой RootViewController в dataViewController, иногда мне просто нужно обновить пользовательский интерфейс rootViewController, и я не хочу использовать уведомление.Получить контроллер RootView из dataViewController в UIPageViewController

Я использую это в своем dataViewController, однако это только приводит меня к UIPageViewController.

- (UIViewController *)viewController 
{ 
    for (UIView* next = [self.view superview]; next; next = next.superview) { 
     UIResponder *nextResponder = [next nextResponder]; 
     NSLog(@"%@",[nextResponder class]); 
     if ([nextResponder isKindOfClass:[UIPageViewController class]]) { 
      return (UIViewController *)nextResponder; 
     } 
    } 
    return nil; 
} 

ответ

0

Ваш UIPageViewController может иметь слабую ссылку на контроллер родительского вида (RootViewController) и передать эту ссылку на другие контроллеры, которые вложены в PageController.

Вы должны заметить, что вся ссылка на родительский контроллер (rootViewController) должна быть слабой, таким образом, вы избежите сильных эталонных циклов.

Смежные вопросы