1

私のプログラムが Cocoa のドキュメント フレームワークを使用することでメリットが得られると約 90% 確信していますが、確信が持てないことが 1 つあります。

私が見たすべての例で、 NSDocument サブクラスは常に保存されているファイルを表しており、これは私のアプリケーションに完全に適しているわけではありません。

アプリケーションでディスクに保存されるファイルは、プログラム内で編集されるエンティティのコレクションになります。新しいファイルが作成されると、ユーザーはそのコレクションに含まれる個々のエンティティを編集できます。これには、状態と変更の追跡 (保存、元に戻すなど) が必要です。

ドキュメント ベースのアプリケーションはこのように機能するのでしょうか?それとも、常にフレームワークと戦わなければならないのでしょうか?

私の質問をより明確にするために更新されました:

ファイル内に含まれる個別のエンティティを管理しやすくするため、ファイルをバンドルとして保存することを計画していましたが、私の質問には実際には対応していません。

Microsoft Access のようなプログラムを考えてみてください。ファイルはデータベースですが、ドキュメントはフォーム、レポート、クエリ、マクロなどです。各アイテムは個別のドキュメント ウィンドウで編集され、個々のドキュメントに対して変更を保存または元に戻すことができますが、保存されるのはデータベース全体(すべてのフォーム、レポート、およびクエリを含む) です。

4

1 に答える 1

2

これがアプリケーションに適用されるかどうかはわかりませんがNSDocument、ドキュメントを単なるファイルではなく、作業に必要なファイルのコレクションになるように、パッケージに関連付けることができます。

私が数年前にこれに取り組んだとき、これを機能させることはそれほど簡単ではありませんでしたが、最終的にはそれを行うことができました。これで物事が楽になったことを願っていますが、とにかく、それがあなたの要件に適しているなら、私はそれを試してみます。

このSOトピックは、デフォルトで何を変更する必要があるかについてのヒントを提供しますNSDocument

于 2011-06-02T18:58:26.257 に答える