返回types的应用程序:didFinishLaunchingWithOptions:
在为iOS开发时,您的应用程序的第一个入口点是-[AppDelegate application:didFinishLaunchingWithOptions:]
。 这个方法的返回types是BOOL
。 默认情况下,此方法的返回types为YES
。 这里是由Xcode自动生成的代码。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; }
正如你所看到的,Xcode为你提供了return语句,值为YES
。 当我将return语句的值更改为NO
,如果不更改其他任何内容,则不会有任何反应 。 该应用程序不会退出或显示任何不寻常的行为。 这引出了一个问题, 当返回的值不重要时,返回BOOL的方法的目的是什么? 如果返回的值无关紧要,为什么这个方法不能返回无效?
注意:在将回报更改为NO
后,我的一些期望值也是
- 应用程序不会启动,因为它没有收到“许可”(
NO
返回) - 编译器生成警告,或在运行时引发错误。
为什么这些事情都没有发生?
如果launchOptions
有一个URL,并且返回NO
,那么操作系统将知道您由于某种原因无法打开提供的URL。
它不用于其他任何事情。 由于通常在launchOptions
没有URL,所以通常无关紧要。
所以只是返回YES
。 您可以在这里的Apple文档中阅读更多内容。