2014-06-06 3 views
0

AppDelegate.m 파일을 열 때 내가 알기로는이 코드와 유사해야합니다.내 응용 프로그램에 (BOOL) 응용 프로그램 아래에 코드가있는 이유는 무엇입니까? (UIApplication *) appDelegate에 있습니까?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: 
(NSDictionary *)launchOptions 
{ 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" 
bundle:nil]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 

return yes; 

하지만 광산을 열 때 입력 모든 코드를 수동으로이 self.viewController 선 저를 말할 때 그것은 단지, 거기에서 주석과

또한
return yes; 

을 가지고 그 재산 ' viewController '가'AppDelegate * '유형의 객체에서 발견되지 않으며 self.viewController의 다음 인스턴스에 대해 그 아래 두 줄에 대해 표시됩니다.

왜 이런 일이 발생하며 어떻게 해결할 수 있습니까?

답변

2

스토리 보드로 프로젝트를 만든 경우 (잠시 동안 유일한 옵션 이었음) 해당 코드는 필요하지 않습니다. UIApplicationMainUIWindow을 만들고이를 응용 프로그램 위임자의 window 속성에 할당하고 스토리 보드에서 창 루트보기 컨트롤러를로드합니다.

0

"Empty Application"이외의 프로젝트 템플릿을 선택하면 Xcode 프로젝트가 기본값 Storyboard 응용 프로그램으로 생성됩니다.

앱에 Main.storyboard이 있는지 확인하세요. UIViewController을 수동으로 추가하려면 프로젝트 템플릿 "Empty Application"으로 응용 프로그램을 만든 다음 새 Objective C 파일 (UIViewController : xib)을 프로젝트에 추가하고 다음 코드를 추가하십시오.

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
self.window.rootViewController = self.viewController; 
관련 문제