半年前の私です!適切なチュートリアルも見つかりませんでしたが、デフォルトの Xcode プロジェクト テンプレートを使用して新しいプロジェクトを開始しました。

新しいプロジェクトを開始するときに Xcode が生成するセットアップから始め、作業を進めながら少しずつ実装しました。さまざまなコントローラー クラスの使用について、Stackoverflow でいくつかの良い読み物がありますが、ここで私がしたことは次のとおりです。
- Xcode によって生成されたドキュメント クラスは、私の最上位のコントローラーです。NSDocumentController は使用しません。
- 私のアプリの各ユースケースには、ユースケースのさまざまなビューを管理する多数の NSViewControllers があります。これらのコントローラーは、動的にスワップインおよびスワップアウトされます。最上位のコントローラーは NSDocument クラス (私の場合は Core Data を使用するので NSPersistentDocument) によって管理されます。
私は決して専門家ではないので、より良いアプローチを修正する必要がありますが、これまでのところ、このセットアップは扱いやすく、維持しやすく、拡張しやすいものでした。
注: Core Data の使用はオプションですが、時間が経つにつれて気に入るようになり、非常に強力で時間を大幅に節約できると思います。Core Data を使用しない場合でも、上記の設定は機能しますが、独自のデータを管理する必要があります。
編集: この投稿では、NSDocumentController の関連性について説明します。
EDIT2: Appleからのこれも興味深い読み物です。
EDIT3:アプリのUIが含まれているため、NIB(または現在呼び出されているXIB)が必要です。ビューコントローラー(サブクラスNSViewController
)を介してそれらを取り込みます:
NSString *aControllerName = [anIdentifier stringByAppendingString: @"ViewController"];
NSString *aNibName = [anIdentifier stringByAppendingString: @"View"];
Class aControllerClass = NSClassFromString(aControllerName);
[self setCurrentController: [[aControllerClass alloc] initWithNibName: aNibName bundle: [NSBundle mainBundle]]];
anIdentifier
をDepartment
インスタンス化し、 XIBDepartmentViewController
名をロードしますDeparmentView
。
plist を使用してデータを保存できますが、必須ではありません。アプリのデータを保存するには、さまざまな方法があります。Apple が導入しているさまざまなアーキテクチャについて読んで、自分で選択する必要があります。