返回-application的类型:didFinishLaunchingWithOptions:

时间:2014-04-13 03:13:39

标签: ios objective-c

为iOS开发时,应用的第一个入口点是-[AppDelegate application:didFinishLaunchingWithOptions:]。此方法的返回类型为BOOL。默认情况下,此方法的返回类型为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为您输入了返回语句,其值为YES。当我将return语句的值更改为NO,并且不会更改任何其他内容时,没有任何反应。该应用程序不会退出或显示任何异常行为。这就引出了一个问题,返回BOOL的方法的目的是什么?当返回的值不重要时?如果返回的值没有关系,为什么不这样做?方法只返回void?
注意:将回报更改为NO后,我的一些期望是

  • 申请没有启动,因为它没有获得许可" (NO已退回)
  • 编译器生成警告,或者在运行时引发错误 为什么这些都不会发生?

1 个答案:

答案 0 :(得分:24)

如果launchOptions中有一个网址并且您返回NO,则操作系统会因某种原因知道您无法打开提供的网址。

它没有用于其他任何事情。由于launchOptions通常没有网址,因此通常并不重要。

所以只需返回YES。您可以在Apple文档here中阅读更多内容。