正确使用UIApplicationMain

Moh*_*nde 9 iphone objective-c main-method uiapplication

我决定以编程方式加载我的视图,所以放:

int ret = UIApplicationMain(argc, argv, nil, nil);
Run Code Online (Sandbox Code Playgroud)

不行.不过,我确实有一个ViewController和一个AppDelegate.UIApplicationMain使用ViewController和AppDelegate的正确用途是什么?
PS我没有使用XCode或Interface Builder,我正在开发工具链.

ken*_*ytm 16

此函数声明为

int UIApplicationMain (
   int argc,
   char *argv[],
   NSString *principalClassName,
   NSString *delegateClassName
);
Run Code Online (Sandbox Code Playgroud)

由于您没有将UIApplication子类化,因此请传递nil给第3个参数.但是你有一个自定义的UIApplicationDelegate.所以将它的类名传递给第四个参数.

int retval = UIApplicationMain(argc, argv, nil, @"AppDelegate");
Run Code Online (Sandbox Code Playgroud)

  • 用NSStringFromClass([AppDelegate class])替换@"AppDelegate"以避免魔术字符串,以防您将AppDelegate重命名为其他内容. (16认同)