Iphone 在选项卡栏应用程序中交换视图直接调用视图控制器,而不是通过其索引
我想在选项卡栏应用程序中交换视图,但我不能依赖视图控制器的索引来改变它们。因此,我无法使用以下代码:Iphone 在选项卡栏应用程序中交换视图直接调用视图控制器,而不是通过其索引,iphone,objective-c,Iphone,Objective C,我想在选项卡栏应用程序中交换视图,但我不能依赖视图控制器的索引来改变它们。因此,我无法使用以下代码: [self.tabBarController setSelectedIndex:4]; 我希望能够按名称调用特定的视图控制器。请问我怎么做 谢谢您可以使用以下代码选择特定类别的view controller: NSUInteger index = [self.tabBarController.viewControllers indexOfObjectPassingTest:^BOOL(
[self.tabBarController setSelectedIndex:4];
我希望能够按名称调用特定的视图控制器。请问我怎么做
谢谢您可以使用以下代码选择特定类别的view controller:
NSUInteger index = [self.tabBarController.viewControllers indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
return [obj isKindOfClass:[ClassOfViewControllerYouAreLookingFor class]];
}];
if(index != NSNotFound) {
[self.tabBarController setSelectedIndex:index];
}
或者,您可以使用以下代码简单地选择特定的ViewController实例:
NSUInteger index = [self.tabBarController.viewControllers indexOfObject:yourViewController];
if(index != NSNotFound) {
[self.tabBarController setSelectedIndex:index];
}
如果他们是同一个班级呢?你真的应该使用self.tabBarController.viewControllers[someIndex]