如何将特定委托传递给UIApplicationMain

时间:2015-10-24 03:13:42

标签: ios objective-c

我正在使用下一行在iOS上实例化我的应用程序,一切正常,我希望我不知道如何传递参数来实例化MyAppDelegate

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

是否可以将MyAppDelegate的特定实例传递给UIApplicationMain或指定如何构建它?

1 个答案:

答案 0 :(得分:1)

Apple Documentation

int UIApplicationMain ( int argc, char * _Nonnull argv[], NSString *principalClassName, NSString *delegateClassName );
  

delegateClassName

     

应用程序委托所在的类的名称   实例化。如果principalClassName指定的子类   UIApplication,您可以将子类指定为委托;该   子类实例接收应用程序委托消息。指定   如果从应用程序的主笔尖加载委托对象,则为nil   文件。

使用UIApplicationMain,告诉iOS代理类的名称。您的应用代表负责管理系统与您的代码之间的高级别交互。

因此,要回答您的问题 - 不,我们/ AppDelegate中的UIApplicationMain的特定实例无法传递。事实上,这是应用程序的切入点,到目前为止还没有实例化/加载。

我还建议你看一下讨论iOS应用启动周期的nice blog