2010-05-12 4 views
0

저는 iPad 개발로 뛰어 들고 있으며 많은 것을 빨리 배우고 있습니다.하지만 어디서나 볼 수 있습니다. 질문이 있습니다. 템플릿을 사용하여 Xcode에서 새로운 SplitView 응용 프로그램을 만든 후 AppDelegate 클래스, RootViewController 클래스 및 DetailViewController 클래스를 생성합니다. 이와 함께 MainWinow.xib 및 DetailView.xib에 대한 .xib 파일을 만듭니다.왜 SplitView iPhone 템플릿에 RootView 용 nib 파일이 없습니까?

  1. 어떻게이 다섯 가지 파일이 함께 작동합니까?
  2. DetailView에 대한 nib 파일은 있지만 RootView에는없는 이유는 무엇입니까?
  3. MainWindow.xib 파일을 두 번 클릭하면 Interface Builder가 "보기"창없이 시작됩니다. 그 이유는 무엇입니까?
  4. 다음은 AppDelegate 클래스의 didFinishLaunchingWithOptions 메서드에 대한 코드입니다. splitviewController를 서브 뷰로 추가하는 이유는 무엇입니까?

    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    
    // Override point for customization after app launch  
    rootViewController.managedObjectContext = self.managedObjectContext; 
    
    // Add the split view controller's view to the window and display. 
    [window addSubview:splitViewController.view]; 
    [window makeKeyAndVisible]; 
    
    return YES; 
    
    모든 도움에 미리 너무 많은

    }

감사합니다! 나는 아직도 배울 것이 많기 때문에,이 질문이 어리석은 것이라면 사과드립니다. 지금 당장이 문제를 계속 연구 할 것입니다.

답변

4

MainWinow.xib는 모든 Cocoa 터치 프로젝트에서 생성되는 기본 창입니다. AppDelegate의 다른 모든 창을 추가하는 창입니다.

AppDelegate, 이미 알고 있다고 생각합니다. 이것은 귀하의 응용 프로그램에 대한 기본 클래스입니다.

SplitViewController는 UISplitViewController이며 IB를 사용하는 MainWindow.xib에 추가되지만 didFinishLaunchingWithOptions :가 실행될 때까지 MainView.xib의 Window에는 추가되지 않습니다.

기본적으로 SplitViewController는 편의를 위해 두 개의 ViewController를 관리합니다. 일반적으로 UITableView (템플릿의 RootViewController라고 함) 및 UIViewController (DetailViewController라고 함)입니다. 원하는 경우이 모든 것을 제거 할 수 있습니다.

RootViewController는 단순히 UITableViewController입니다. IB의 SplitViewController에 추가됩니다.

DetailViewController는 UIViewController이며 MainWindow.xib의 IB에도 추가됩니다.

DetailView에는 nib 파일이 있지만 RootView에는 nib 파일이 있습니까?

메모리 관리를 용이하게하기 위해 DetailView를 nib 파일에서로드한다고 생각합니다. 그러나 프로그래밍 방식으로 쉽게 만들 수있었습니다. UISplitViewController에서 이미 추가되고 초기화되었으므로 RootView의 펜촉은 없습니다. xib 파일에서 쉽게로드 할 수 있습니다.

나는 MainWindow.xib에 파일을 더블 클릭하는 "보기"창없이 출시 인터페이스 빌더, 왜?

이 기본 iPad 템플릿은 다른 iPhone 템플릿과 마찬가지로 SplitViewController라는 UISplitViewController가 아니라 UIView 호출 뷰를 사용합니다.

는 아래 AppDelegate에 클래스 내부 didFinishLaunchingWithOptions 방법 코드입니다. splitviewController를 서브 뷰로 추가하는 이유는 무엇입니까?

SplitViewController는 MainWindow.xib에만 존재하며 Window (MainWindow.xib)에는 추가되지 않습니다. 그래서 여기에 추가됩니다. SplitViewController에 중첩 된 경우 AppDelegate에 추가 할 필요가 없습니다.

이것은 원하는 문서입니다. read

관련 문제