3

我有一个主视图控制器,我在其中添加了不同类型的子视图:IntroViewController 和 ChapterViewController。我的故事板中都有它们,这就是我添加 10 的方式(我的主视图控制器有一个滚动视图,当我向左滑动时,下一个视图控制器显示):

 for(int i = 0; i<10; i++) {
     IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"View1"];
     [self addChildViewController:introViewController];

 }

该函数将添加 10 个 IntroViewController 类型的视图控制器。但是现在它们具有相同的名称,我不确定现在如何访问这些不同的 introviewcontrollers,例如,如果我需要更改第 5 个视图控制器参数怎么办?就像是:

     introViewController.initialText = @"test";

但由于它们具有相同的名称,我不知道如何做到这一点......

4

1 回答 1

10

您可以通过childViewControllers财产获得它们。

来自Apple 的文档

子视图控制器:

视图控制器数组,它们是视图控制器层次结构中接收器的子级。(只读)

@property(nonatomic, readonly) NSArray *childViewControllers

它们的索引方式与它们在控制器层次结构中的方式相同。因此,在您的循环中创建的第 5 个 viewController 将与

(UIViewController*)[self.childViewControllers objectAtIndex: 4]
于 2013-03-01T14:59:36.643 回答