0

次のようなワークフロー設定があります。

ナビゲーションコントローラー
-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 からプロパティにアクセスする必要があります。これどうやってするの?
これらのコントローラーにもプロパティを渡す必要がありますか、それとも何らかの方法でその親から直接アクセスできますか?

4

2 に答える 2