私はiOSから来て、ココアを学び始めました。 iOSの場合、iPad
とiPhone
の複数のターゲットがない限り、通常の1つのウィンドウがあり、UIViewControllers
を使用して画面を管理します。ほとんどの場合、新しい画面はすべてUIViewController
にマップされます。NSWindowControllerとNSViewControllerの違い
しかし、これはココアでは、新しい画面/ウィンドウがNSWindow
で管理され、そのサブコンポーネントがNSViewController
で管理されている場所のようです。だから私は複数のウィンドウのアプリを持っている場合、私は別々のウィンドウごとにNSWindowController
を持っている必要があります。
このアプローチは正しいですか、私は誤解していますか?
あなたがここで言わなかったことは、あなたがiOSから来ていて、今MacOS上でプログラミングを始めているということですか? –
あなたはiOSの部分で少し後ろにそれを持っています。 'UIViewController'は' UIWindow'を管理しません。 'UIWindow'は' UIViewController'を管理します。通常、UIViewControllerは一度に1つしか表示されません(これは子ビューコントローラを持つiOS5で変更されていますが)、UIWindowのサブコンポーネントです。 UIWindowにはrootViewControllerプロパティがありますが、ViewControllerにはウィンドウプロパティはありません。さて、OSXでは、複数のNSWindowを持つことができますが、それでもそれぞれのNSViewControllerを管理します。つまり、階層は:Window> ViewController> Views – CrimsonDiego
ありがとう、ええ、私はiOSの背景から来ています:)私は私のMacアプリケーション上に複数の別々のウィンドウがあると言うことができます。それぞれのウィンドウがwindowControllerまたはviewControllerにマップされるベットのアプローチは何ですか?たとえば、xCodeでファイルをダブルタップすると、新しいウィンドウが開きます。 – rustylepord