Ios 有两个或更多UINavigationController是错误的吗

Ios 有两个或更多UINavigationController是错误的吗,ios,iphone,uiviewcontroller,uinavigationcontroller,uitabbarcontroller,Ios,Iphone,Uiviewcontroller,Uinavigationcontroller,Uitabbarcontroller,我有一些使用begin导航控制器的身份验证视图控制器,如AppDelegate.m中的: @property (strong, nonatomic, retain) BeginViewController *beginViewController; @property (strong, nonatomic, retain) BeginNavigationController *beginNavigationController; ... _beginViewController = [[Be

我有一些使用begin导航控制器的身份验证视图控制器,如AppDelegate.m中的:

@property (strong, nonatomic, retain) BeginViewController *beginViewController;
@property (strong, nonatomic, retain) BeginNavigationController *beginNavigationController;

...

_beginViewController = [[BeginViewController alloc] init];
_beginNavigationController = [[BeginNavigationController alloc] initWithRootViewController:_beginViewController];
self.window.rootViewController = _beginNavigationController;
[self.window makeKeyAndVisible];
在某一点之后,用户将自动认证,如果没有错误,则会发生以下情况:

ATabBarController *tab = [[ATabBarController alloc] init];

[self.navigationController pushViewController:tab animated:YES];
然后,选项卡栏控制器初始化:

@property (nonatomic, strong, retain) InsideNavigationController *nav1;
....
@property (nonatomic, strong, retain) InsideNavigationController *nav4;

_view1 = [[AViewController alloc] init];
...
_view2 = [[DViewController alloc] init];

_nav1 = [[InsideNavigationController alloc]initWithRootViewController:_view1];
...
_nav4 = [[InsideNavigationController alloc]initWithRootViewController:_view4];
这是正确的做事方式吗?我想让一个导航控制器处理身份验证和所有未经身份验证的视图,然后在身份验证后为选项卡栏创建一个导航控制器

如何返回到第一个视图控制器


谢谢。

为什么用-1呢?我不知道为什么用-1。我觉得不错。tabBarController上的每个选项卡都需要是自己的导航堆栈。因此,只使用1个uinavigation控制器,那么“每个选项卡,是”是什么意思?所以我应该像现在这样,每个选项卡使用一个控制器?