【发布时间】:2013-01-04 08:06:54
【问题描述】:
我正在使用UIStoryboard。我创建了我的应用程序空,然后我添加了一个故事板。情节提要在项目设置中设置为主情节提要,在 Info.plist 中也设置为“主情节提要文件基础名称”。
我的应用委托只返回 YES 而没有任何其他代码。
我的main.m 包含这行代码:
return UIApplicationMain(argc, argv, nil, NSStringFromClass([ARGAppDelegate class]));
我在控制台中收到此消息:
应用程序窗口应该有一个根视图控制器 应用程序启动结束
我的视图控制器在 UIStoryboard 中,作为初始视图控制器。
只是想知道我在这里做错了什么......
我的 AppDelegate 代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
这就是我拥有的所有代码,如果您使用情节提要,则不需要创建窗口对吗?
感谢您的帮助,不胜感激!
更新:
我实际上更改了我的 AppDelegate 代码,仍然没有任何区别:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"ARGViewControllerID"];
NSLog(@"%@", initViewController); // Returns a valid ARGViewController object
[self.window setRootViewController:initViewController];
[self.window makeKeyAndVisible];
[self.window makeKeyWindow];
return YES;
}
【问题讨论】:
-
当我从头开始遇到这样的事情时,我发现与“已知商品”进行比较最容易 - 在这种情况下,尝试将您的应用与“单页应用”的自动生成的应用进行比较而不是“空”,看看有什么不同可能导致您的问题。
-
@Chris 我已经做到了,不过我没有发现任何问题
-
好吧,我假设存在一些差异(因为单页应用程序不会这样做) - 尝试对其中一个或另一个应用更改以使项目看起来更相似,直到找到导致的更改问题。
-
@Chris 我没有什么不应该工作的意思,好的,我会这样做,但是我的另一个项目不使用情节提要。另外,我认为除了应用程序委托之外没有任何值得注意的区别,在这个项目中它是空的(除了返回 YES)
-
你能从
AppDelegate添加你的applicationDidFinishLaunching方法吗?int main(int argc, char *argv[]) {}与此错误无关,它可能显示它在这里,因为尚未捕获异常,这是最后一个可以被抓到的地方。
标签: objective-c ios uiviewcontroller uistoryboard