获取指定类型的子控制器

当需要获取当前控制器的指定类型的子控制器时,可以使用以下解决方案:

1
2
3
4
5
6
7
8
9
- (UIViewController *)childViewControllerWithType:(Class)type {
for (UIViewController *controller in self.childViewControllers) {
if ([controller isKindOfClass:type]) {
return controller;
}
}
NSLog(@"Requested controller of type %@ was not found.", NSStringFromClass(type));
return nil;
}