次のようなワークフロー設定があります。
ナビゲーションコントローラー
-VC1
-VC2
-VC3
-PageVC
--VC4
--VC5
たとえば UIImage 参照などのオブジェクトを、最初のコントローラーから PageVC まで渡します。ここで、PageVC は次のようにコントローラーをロードします。
- (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;
}
質問
VC4/VC5 内で、PageVC からプロパティにアクセスする必要があります。これどうやってするの?
これらのコントローラーにもプロパティを渡す必要がありますか、それとも何らかの方法でその親から直接アクセスできますか?