返回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文档中阅读更多内容。