我遇到一个问题,即调用setViewControllers
没有将我的视图控制器数组设置为导航视图控制器。我我在一个块中执行此操作,因此我不确定它是否是UI问题(但我已尝试通过在主队列中设置我的视图控制器来解决此问题)。
[self thisIsABlock:^(){
UIViewController3 *viewController3 = [storyboard instantiateViewControllerWithIdentifier:@"HeyHey"];
// viewController3 is not nil
NSMutableArray *array1 = [self.navigationController.viewControllers mutableCopy];
// array1 contains [viewController1, viewController2]
[array1 addObject:viewController3];
[self.navigationController setViewControllers:array1 animated:NO];
// Now array1 contains [viewController1, viewController2, viewController3]
NSMutableArray *array2 = [self.navigationController.viewControllers mutableCopy];
// array2 only contains [viewController1, viewController2]
}];
这段代码是我在代码库中所做的事情的抽象。我可能会遗漏导致此问题的一些重要代码,但我希望有人之前遇到过此问题并知道问题所在。谢谢!
//编辑1:我在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
当我从后台打开应用程序到前台时,我的代码可以运行。
答案 0 :(得分:0)
以上代码是正确的,但您可以提供这样的有效数据,
YourViewController *viewController3 = [self.storyboard instantiateViewControllerWithIdentifier:@"YourStoryBoardViewControllerIdentifer"];
希望它可以帮到你。