3

さまざまなタイプ(IntroViewControllerとChapterViewController)から子を追加するメインビューコントローラーを入手しました。ストーリーボードに両方があり、これが10を追加する方法です(メインのビューコントローラーにはスクロールビューがあり、左にスワイプすると次のビューコントローラーが表示されます)。

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

 }

この関数は、タイプIntroViewControllerの10個のビューコントローラーを追加します。しかし、現在は同じ名前であり、これらの異なるイントロビューコントローラーにアクセスする方法がわかりません。たとえば、5番目のビューコントローラーのパラメーターを変更する必要がある場合はどうなりますか?何かのようなもの:

     introViewController.initialText = @"test";

しかし、彼らは同じ名前を持っているので、これを行う方法がわかりません...

4

1 に答える 1

10

あなたは財産でそれらを得ることができchildViewControllersます。

Appleのドキュメントから:

childViewControllers:

ビューコントローラー階層内のレシーバーの子であるビューコントローラーの配列。(読み取り専用)

@property(nonatomic, readonly) NSArray *childViewControllers

それらは、コントローラー階層にあるのと同じ方法で索引付けされます。したがって、ループ上に作成された5番目のviewControllerは次のようになります。

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