【发布时间】:2015-10-26 13:07:18
【问题描述】:
我在使用 xibs 而不是情节提要启动 iOS 应用程序时遇到了一些麻烦。问题是我得到一个黑屏并且第一个视图控制器没有被调用(在viewDidLoad方法中添加了断点)。
在应用程序委托标头中我声明了这一点:
@property (strong, nonatomic) UIWindow window;
@property (strong, nonatomic) ViewController *viewController;
在didFinishLaunchingWithOptions 方法中我有这个实现:
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
navController.navigationBarHidden = YES;
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
查看一些论坛,我发现我应该分配窗口,所以我将其添加为函数的第一行
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
问题是,当我这样做时,应用程序在从didFinishLaunchingWithOptions 方法返回后崩溃(SIGABRT 没有任何痕迹)。
我还尝试将 navController 设为一个属性,并实例化一个默认的 UIViewController 类以初始化相同的 xib
我做错了什么?
感谢和问候
【问题讨论】:
-
您是否在目标的常规设置中删除了对“主”情节提要的引用?
-
@Jasper 是的,我删除了对情节提要的引用,也删除了
info.plist中的引用。我还尝试将 ViewController.xib 添加到常规设置(不起作用) -
据我所知,您做的一切都是正确的。也许尝试清理您的项目,甚至删除您的派生数据
-
@Jasper 我也试过这个解决方案,它一直失败:S
-
能否请您更新您的 didFinishLaunchingWithOptions 的完整代码。
标签: ios objective-c xib