Mor*_*ang 6 null objective-c uitabbarcontroller ios
我在故事板中有一个tabbarcontroller作为初始视图控制器
这是如何返回null的
UITabBarController* tabbarController = (UITabBarController*) self.tabBarController;
NSLog(@"%@",tabbarController);
NSLog(@"%@",self.navigationController.tabBarController);
Run Code Online (Sandbox Code Playgroud)
本来就是我想要做的
NSMutableArray *newTabs = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]];
NSLog(@"\n\n\n%lu\n\n\n",(unsigned long)[newTabs count]);
NSLog(@"self.tabBarController.viewControllers %@ \n\n",self.tabBarController);
[newTabs removeObjectAtIndex: 1];
[self.tabBarController setViewControllers:newTabs];
Run Code Online (Sandbox Code Playgroud)
为什么我会变空?
究其原因,返回null,是self
为你的UITabBarController
,因此,它不会对任何东西self.tabBarController
您的代码应如下所示:
NSMutableArray *newTabs = [NSMutableArray arrayWithArray:[self viewControllers]];
NSLog(@"\n\n\n%lu\n\n\n",(unsigned long)[newTabs count]);
NSLog(@"self.viewControllers %@ \n\n",self);
[newTabs removeObjectAtIndex: 1];
[self setViewControllers:newTabs];
Run Code Online (Sandbox Code Playgroud)