-1

我开始学习objective-c和ios编程。我有两个视图控制器,分别名为MainViewController和GameViewController,我的项目中还有两个xib文件。我将xib文件与ViewController的连接起来。总而言之,这是我的文件:

视图控制器,

    AppDelegate.h
    AppDelegate.m
    MainViewController.h
    MainViewController.m
    GameViewController.h
    GameViewController.m

和xib,

    Main.xib
    Game.xib

我在项目选项中选择 Main.xib 作为主界面。我试图理解下面的问题,当我首先运行这个应用程序时 main.m 运行。没关系。

之后 AppDelegate 类是否运行?xcode 如何确定哪个 View Controller 将首先运行?

当我运行这个项目时,只有黑屏。任何人都可以帮助我了解ios应用程序的运行顺序吗?

4

1 回答 1

3

Xcode 不会确定任何内容,之后设置 UI 完全取决于您

-application:didFinishLaunchingWithOptions:launchOptions 

由系统调用。下面是一个ExampleViewController先初始化的例子:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[ExampleViewController alloc] initWithNibName:@"ExampleViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

应用程序初始化流程是:

main() -> AppDelegate (or whatever class has been designated the delegate) -> initial view controller
于 2012-12-22T22:21:10.943 回答