0

私は iPad 開発に飛び込んでおり、多くのことを急速に学んでいますが、どこを見ても疑問があります。テンプレートを使用して Xcode で新しい SplitView アプリを作成すると、AppDelegate クラス、RootViewController クラス、および DetailViewController クラスが生成されます。それに伴い、MainWinow.xib と DetailView.xib の .xib ファイルを作成します。

  1. これら 5 つのファイルはどのように連携しますか?
  2. DetailView 用の nib ファイルがあるのに、RootView 用の nib ファイルがないのはなぜですか?
  3. MainWindow.xib ファイルをダブルクリックすると、[View] ウィンドウが表示されずに Interface Builder が起動します。なぜですか?
  4. 以下は、didFinishLaunchingWithOptionsAppDelegate クラス内のメソッドのコードです。なぜ 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

1 に答える 1

4

MainWinow.xibは、すべてのCocoatouchプロジェクトによって作成されるデフォルトのウィンドウです。これは、他のすべてのウィンドウが追加されるウィンドウであり、通常はAppDelegateにあります。

AppDelegate、私はあなたがすでに知っていると思います。これは、アプリケーションの基本クラスです。

SplitViewControllerはUISplitViewControllerであり、IBを使用してMainWindow.xibに追加されますが、didFinishLaunchingWithOptions:が実行されるまでMainView.xibのウィンドウに追加されません。

デフォルトでは、SplitViewControllerは便利なように2つのViewControllerを管理します。通常、これらはUITableView(テンプレートではRootViewControllerと呼ばれます)とUIViewController(DetailViewControllerと呼ばれます)です。必要に応じてこれらを完全に削除できますが。

RootViewControllerは単なるUITableViewControllerです。IBのSplitViewControllerに追加されます。

DetailViewControllerはUIViewControllerであり、MainWindow.xibのIBにも追加されます。

RootViewではなくDetailViewのnibファイルがあるのはなぜですか?

DetailViewは、メモリ管理を容易にするためにnibファイルからロードされると思います。しかし、プログラムで簡単に作成できたはずです。RootViewは、UISplitViewControllerですでに追加および初期化されているため、ペン先はありません。xibファイルから同じように簡単にロードできたはずです。

MainWindow.xibファイルをダブルクリックすると、「表示」ウィンドウなしでInterface Builderが起動します。なぜですか?

このデフォルトのiPadテンプレートは、他のiPhoneテンプレートのようにUIView Called Viewではなく、SplitViewControllerと呼ばれるUISplitViewControllerを使用します。

以下は、AppDelegateクラス内のdidFinishLaunchingWithOptionsメソッドのコードです。なぜsplitViewControllerをサブビューとして追加するのですか?

SplitViewControllerはMainWindow.xibにのみ存在し、(MainWindow.xibの)Windowには追加されません。したがって、ここに追加されます。SplitViewControllerにネストされている場合は、AppDelegateに追加する必要はありません。

これはあなたが読みたい文書です

于 2010-05-13T02:01:17.257 に答える