I have a workflow setup as follows:
Navigation Controller
-VC1
-VC2
-VC3
-PageVC
--VC4
--VC5
I pass an object for example a UIImage reference through the first controllers up to the PageVC. Once here the PageVC loads the controllers as follows:
- (void) viewDidLoad {
[super viewDidLoad];
self.dataSource = self;
_side = [self.storyboard instantiateViewControllerWithIdentifier: @"GuessGameTurnWordVC"];
_center = [self.storyboard instantiateViewControllerWithIdentifier: @"GuessGameTurnMainVC"];
[self setViewControllers: @[_center]
direction: UIPageViewControllerNavigationDirectionForward
animated: NO
completion: nil];
}
- (UIViewController*) pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
if ( viewController == _center )
{
_side.title = @"right";
return _side;
}
if ( viewController == _side && [_side.title isEqualToString: @"left"] )
{
return _center;
}
return nil;
}
- (UIViewController*) pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
if ( viewController == _center )
{
_side.title = @"left";
return _side;
}
if ( viewController == _side && [_side.title isEqualToString: @"right"] )
{
return _center;
}
return nil;
}
Question
Within the VC4/VC5 I need to access a property from the PageVC. How can I do this?
Do I need to pass the property down to these controllers too, or can I access it directly from its parent in someway?