ios应用程序的起点
如果你写点什么ios应用程序的起点,ios,objective-c,Ios,Objective C,如果你写点什么 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"Starting point 1"); } main.m int main(int argc,char * argv[]) { ...... NSLog(@"Starting point 0"); } 哪个ma
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"Starting point 1");
}
main.m
int main(int argc,char * argv[])
{
......
NSLog(@"Starting point 0");
}
哪个main.m或appDelegate.m更有用,在哪个场景中使用
UIApplicationDelegate
,而不是main.m
didFinishedLaunching方法是一个很好(但不是唯一)的起点
只有在那里,您才能确保正确加载了所有特定于iOS的代码。
在main中,加载可能有错误,该行将在main中执行,但不会在didFinishedLaunching方法中执行。这是一篇解释应用程序启动顺序的有趣文章 作为文章的简历,结论是: 除了application:
didfishlaunchingwithoptions:
,在启动序列中还有几个自定义代码的入口点(通常不需要这些入口点):
在调用UIApplicationMain()
之前,直接在main()
中。
自定义UIApplication子类的init方法。
应用程序委托的initWithCoder:
或awakeFromNib方法(如果它是从NIB文件创建的)(默认值)。
我们的应用程序委托类或自定义UIApplication子类的+initialize
方法。任何类在从程序中发送其第一条消息之前都会收到+初始化消息
请注意此序列仅在实际启动应用程序时发生。如果应用程序已经在运行,并且只是从后台恢复,则不会发生任何情况。对于iOS应用程序来说,调用main()方法是第一件事,但是在iOS编程中,一般规则是永远不要使用main()函数。
这个
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动(NSDictionary*)启动选项
成功启动应用程序后发生,应用于应用程序启动时需要执行的任何流程。您想做什么?我想通过代码设置初始控制器