2014-04-13 2 views
19

iOS 용으로 개발할 때 앱의 첫 번째 진입 점은 -[AppDelegate application:didFinishLaunchingWithOptions:]입니다. 이 메서드의 반환 형식은 BOOL입니다. 기본적으로이 메서드의 반환 형식은 YES입니다. 다음은 Xcode에서 자동 생성 한 코드입니다. 당신이 볼 수 있듯이반환 유형 : -application : didFinishLaunchingWithOptions :

- (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; 
} 

은 엑스 코드는 YES의 값으로, 당신을 위해 return 문에 넣습니다. 반환 명세서의 값을 NO으로 변경하고 다른 것을 변경하지 않으면 아무런 일도 발생하지 않습니다.. 앱이 비정상적인 행동을 종료하거나 표시하지 않습니다. 이것은 질문을 던져 줌 반환 값이 중요하지 않을 때 BOOL을 반환하는 메소드의 목적은 무엇입니까? 반환 된 값이 중요하지 않은 경우 왜 메서드가 void를 반환하지 않습니까?
참고 : 하나

  • 은 "권한"을 수신하지 않기 때문에 응용 프로그램이 실행되지 않습니다
  • 컴파일러 중 하나가 경고를 생성 (NO가 반환) NO에 반환을 변경 한 후 내 기대의 일부가 된 나 런타임에 오류가 발생합니다.
    이러한 일이 발생하지 않는 이유는 무엇입니까? 이 launchOptions의 URL이고 당신이 NO를 반환하는 경우
+2

'application : didFinishLaunchingWithOptions :'메소드에 대한 모든 문서를 읽으십시오. 여기서 반환 값을 설명합니다. – rmaddy

답변

18

, 다음 운영 체제가 어떤 이유로 제공된 URL을 열 수 있음을 알 수 있습니다.

다른 용도로 사용되지 않습니다. 일반적으로 launchOptions에는 URL이 없으므로 반환하는 항목은 대개 중요하지 않습니다.

따라서 YES을 반환하십시오. 자세한 내용은 Apple 설명서 here에서 확인할 수 있습니다.

관련 문제