我正在开发一个应用程序(使用故事板)与登录屏幕(UIViewController),这需要认证的用户标签应用程序(UITabbarController)。其中一个Tab Bar项基于我为其添加了UINavigationController的表视图控制器。为了开发表格屏幕,我遵循了iOS 5第2部分(观鸟示例)。除了这个表格部分,我已经成功创建了整个应用程序。我在AppDelegate中感到困惑,因为在BirdSighting示例中,我的根视图控制器是登录屏幕,而在大多数示例中,应用程序是从导航视图控制器或选项卡栏控制器启动的。我粘贴我的AppDelegate方法。
这是运行时错误,我收到“由于未捕获异常'NSInvalidArgumentException‘而终止应用程序,原因:’不支持推送导航控制器‘”
这是我的应用流程登录屏幕->选项卡应用程序Tab1。显示详细信息Tab2。查看票证(TicketMasterViewController) ->Ticket详细信息(TicketDetailViewController)。
我是否需要初始化AppDelegate中的所有控制器? TicketMasterViewController的objectAtIndex应该是什么?耽误您时间,实在对不起。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NavigationViewController *vc4=[[NavigationViewController alloc]init];
UINavigationController *navigationController=[[UINavigationController alloc]initWithRootViewController:vc4];
TicketMasterViewController *firstViewController=(TicketMasterViewController *)[[navigationController viewControllers] objectAtIndex:0];
TicketDataController *aDataController=[[TicketDataController alloc] init];
firstViewController.dataController=aDataController;
// Override point for customization after application launch.
return YES;
}发布于 2012-05-08 11:09:32
你可以尝试删除上面的代码,应用程序可能会运行。如果你正在使用故事板,并且假设你已经如上所述设置了视图控制器的层次结构,那么你应该不需要这个代码。在这里添加代码的唯一原因是将数据(MVC中的模型)附加到视图控制器。
https://stackoverflow.com/questions/10491870
复制相似问题