我有一个主视图控制器,我在其中添加不同类型的子项:IntroViewController和ChapterViewController。我在故事板中都有这两个,这就是我添加10的方式(我的主视图控制器有一个滚动视图,当我向左滑动时,下一个视图控制器显示):
for(int i = 0; i<10; i++) {
IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"View1"];
[self addChildViewController:introViewController];
}
此函数将添加10个IntroViewController类型的viewcontrollers。 但是现在它们具有相同的名称,我现在不确定如何访问这些不同的introview控制器,例如,如果我需要更改第5个视图控制器参数怎么办?类似的东西:
introViewController.initialText = @"test";
但由于他们有相同的名字,我不知道该怎么做......
答案 0 :(得分:9)
您可以使用childViewControllers
属性获取它们。
来自Apple's doc:
childViewControllers:
视图控制器的数组,它们是视图控制器层次结构中接收器的子节点。 (只读)
@property(nonatomic, readonly) NSArray *childViewControllers
它们的索引方式与它们进入控制器层次结构的方式相同。因此,在循环中创建的第5个viewController将与
相同(UIViewController*)[self.childViewControllers objectAtIndex: 4]