2014-10-06 2 views
0

Xcode에서 단일보기 응용 프로그램을 만들면 viewDidLoad 함수로로드되는 ViewController 클래스로 시작됩니다.단일보기 응용 프로그램에 컨텍스트 관리자 추가

저는 약간의 연구를 해봤지만 이것의 기본로드 동작을 변경하는 방법을 알아낼 수 없습니다.

내가하고 싶은 것은 : 먼저 열리는 ContextManager라는 클래스가 있습니다. 이 컨텍스트 관리자는 내가 원하는 모든 ViewController 클래스를 호출합니다.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // Override point for customization after application launch. 
     return true 
    } 

내가 어떻게 초기의 ViewController 클래스도 호출하거나 열되고있다하지 않는, 내가 볼 수 없습니다 :

나는 내가 AppDelegate.swift에서이 대표와 함께 작동하도록해야합니다 생각 그것을 대표하는 대표자.

이로드 이벤트를 가로 채고 대신 내 ContextManager를 첫 번째 클래스로 인식하게하면 조언을받을 수 있습니다.

답변

2

수동 대신 UIApplicationMain 댄다는 그것을 메인 창 초기보기 컨트롤러를 만들어야합니다 감사합니다.

먼저 대상을 선택하고 기본 인터페이스를 지우십시오. 이것은 당신의 창 및 초기 뷰 컨트롤러를 설정하려고에서 UIApplicationMain 방지 : application:didFinishLaunchingWithOptions:에서

다음

clearing out main interface

은 창을 수동으로 작성하고 스토리 보드에서 선택의 뷰 컨트롤러를로드합니다. 예를 들어 스토리 보드 ID가 "1"과 "2"인보기 컨트롤러간에 임의로 선택합니다.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let choice = "\(arc4random_uniform(2) + 1)" 
    window?.rootViewController = 
     storyboard.instantiateViewControllerWithIdentifier(choice) as? UIViewController 
    window?.makeKeyAndVisible() 
    return true 
} 
+0

gif를 좋아합니다. 서사시 답답해, 고맙습니다. – Aggressor