当我使用storyboard在Xcode 4.6中创建一个新的单视图应用程序时,我们可以看到主函数使用应用程序委托创建了一个新的应用程序,如下所示:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyAppDelegate class]));

然而,如果我们看看MyAppDelegate.h和MyAppDelegate.m、 代码中没有引用MainstryBoard的地方.故事板.这与非故事板版本不同,在非故事板版本中,我们可以找到以编程方式加载nib文件的代码行.

所以我的问题是,故事板是如何加载的?(我应该在哪里找到它?)

推荐答案

查看项目的目标设置

在此处输入图像描述

请注意主情节提要设置.

如果你想自己在代码中实现这一点,你可以做如下的事情.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
   UIViewController *vc = [storyboard instantiateInitialViewController];

   // Set root view controller and make windows visible
   self.window.rootViewController = vc;
   [self.window makeKeyAndVisible];

   return YES;
}

Objective-c相关问答推荐

如何从 Cocoa 的 NSDictionary 中获取特定键的值?

目标 C:什么是(id)发件人?

iOS - 如何预加载键盘?

当前周开始和结束日期

如何在 Cocoa 中创建字符串的 MD5 哈希?

将长按手势和拖动手势结合在一起

NSTimeInterval 格式

声明变量id和NSObject *有什么区别?

与 iOS 6.0 原生 Facebook 集成共享:通过我的应用名称发布?

在运行时判断 iOS 版本?

在 ios8 中没有调用 didRegisterForRemoteNotificationsWithDeviceToken,但是 didRegister...Settings 是

发出许多网络请求的 iOS 应用程序的最佳架构?

Cocoa 的依赖注入框架?

无法加载 xcode 项目,因为它已从另一个项目或工作区打开

检测 iOS 应用程序是否在调试器中运行

AVAssetImageGenerator 提供旋转的图像

Select 具有受支持架构的目标以便在此设备上运行

如何让 UITextView 检测网站、邮件和电话号码的链接

将数据传回前一个视图控制器

如何调整 UIToolBar 左右内边距