9

iOSの「Single View App」のテンプレートそっくりでCocoaアプリを立ち上げたいのですが、ViewControllerそのようなテンプレートがありません(公開・オープンソースで使えるものはありますか?)

NSViewCocoa アプリの場合、すでにすべてを実行できるため、実際には必要ないというのは本当ですか? すべてのイベント処理をカスタム NSView クラスに入れるだけです。回転はViewControllerによって処理され、通常は回転が必要なため、iOSではさらに多くのことが必要になるのでしょうか? しかし、MVC を使用する場合は、常に ViewController を使用する方がよい場合があります。そうであれば、それを行うための標準的な方法であるテンプレートはありますか?

4

2 に答える 2

5

NSView の管理に関する OS X の「コントローラ」はNSWindowController. Drummer はそれNSViewControllerはあまり役に立たないと言っていますが、私はそうは思いません。NSWindowController大きくなりすぎた場合に分割するのに役立ち、ビューの点で明確な論理分割を持っています。

を 1 つ持つことができNSWindowController、それが十分に複雑になると、NSWindowController特定のビューに対応するタスクを のサブクラスに委譲することができNSViewController、その点で非常に便利です。

デフォルトのテンプレート (私の記憶が正しければ) ではAppDelegate、技術的にはウィンドウ コントローラーではありませんが、ウィンドウ コントローラーの役割を果たします。より複雑なアプリケーションでは、代わりにウィンドウ コントローラーをインスタンス化することをお勧めします。

コントローラーとビューを混同しない限り、何でも使用できます。ビューは、表示と基本的な入力処理だけに追いやられるべきです。

于 2012-09-17T18:42:59.240 に答える
3

OS X では、iOSNSViewControllerほど頻繁には使用されません。UIViewControllerその理由の 1 つは、あまり役に立たず、 の多くの優れた機能が欠けていることですUIViewControllerNSPopover. _

OS X コードを構造化するには、いくつかの方法があります。それらの1つは使用していNSWindowControllerます。iOSNSWindowControllerと同等と考えることができます。UIViewController

于 2012-09-16T17:07:03.530 に答える