단일보기 서식 파일을 사용하여 응용 프로그램을 시작한 후 AppDelegate.m의 application: didFinishLaunchingWithOptions:
메서드의 첫 번째 줄에 NSLog(@"self.window = %@", self.window);
을 추가하면 응용 프로그램에 self.window
이 있음을 알 수 있습니다.iOS self.window - 언제 만들어 집니까?
그러나 빈 템플릿을 사용하여 응용 프로그램을 시작하고 self.window
을 콘솔에 기록하려고하면 결과는 null
입니다. 스토리 보드 및보기 컨트롤러를 추가하고 해당보기 컨트롤러를 초기보기 컨트롤러로 설정하고 self.window
의 로그를 시도하더라도 결과는 동일합니다.이 값은 null
으로 설정됩니다.
그리고 어느 쪽을 선택하든 기본적으로 AppDelegate.h에 @property (strong, nonatomic) UIWindow *window;
을 선언하는 것을 볼 수 있습니다. 그래서 나는 왜 첫 번째 경우에 self.window
이 초기화되고 후자의 경우에는 값을 설정하는지 알 수 있습니다. 또한 self.window
이 이미 선언되고 첫 번째 경우에는 초기화되지만 두 번째 경우에는 초기화되지 않으면 어떻게 초기화 코드를 찾을 수 있습니까?
그것은 두 경우처럼 보인다는 @property
선언은 동일합니다 - 내가 언급 한 두 경우 모두, 나는 AppDelegate.m
의 application: didFinishLaunchingWithOptions:
방법의 첫 번째 줄에 self.window
의 값을 기록했습니다.
그래서 내가 놓친 것이 있습니까? 왜 두 가지 사례가 코드와 스토리 보드 모두에서 차이점을 찾지 못하고 다르게 행동하는지 모르겠습니다.
iOS 7 및 Xcode 5를 사용합니다. 감사합니다.
대단한 답변을 보내 주셔서 감사합니다. 그게 내가 묻는 바로는 ...그런 다음 빈 템플릿을 사용하여 앱을 시작할 때 어떤 방법으로 코드를 작성하거나 Target에 설정하면 좋을까요? – Blaszard
코드 만 사용하고 코드를 전혀 사용하지 않는다면 코드를 작성해야합니다. 첫 번째보기로 펜촉을 사용하는 경우 기본 인터페이스를 설정하십시오. – Fogmeister