1

他のViewControllerを子として追加するViewControllerを使用しています @interface PagerViewController : UIViewController <UIScrollViewDelegate>addChildViewController)追加するViewControllerは異なるクラスのものですが、すべてUIViewControllerから継承しています。このコードを使用してそれらをループできます。

    for(NSUInteger i = 0; i<(unsigned int)[_app.windows count]; i++) {

    NSLog(@"%@",((MyViewController*)[self.childViewControllers objectAtIndex:i]).getQAnswer);

}

ただし、常に正しいものにキャストする必要があります (上記の例では、MyViewController にキャストします。問題は、さまざまなクラスの子が多数あることです。クラス「anotherViewController」の子のみが必要な場合はどうでしょうか。 「MyViewController」の代わりに?

4

2 に答える 2

0

isKindOfClass を使用して、特定のクラスのインスタンスであるオブジェクトをフィルタリングできます。例えば:

if ([object isKindOfClass:[anotherViewController class]]) {

}
于 2013-03-21T09:47:22.697 に答える
0

特定のクラスのオブジェクトが必要な場合は を使用isMemberOfClass:し、子孫クラスを含めたい場合は を使用しますisKindOfClass:
たとえば、arr が NSMutableArray の場合、[arr isKindOfClass:[NSArray class]]TRUE および[arr isMemberOfClass:[NSArray class]]FALSE になります。

于 2013-03-21T09:54:49.350 に答える