0

データの永続化が必要なアプリケーションを作成しています。このためのフレームワークとして CoreData を使用しています。現在、アプリのデータ構造を設計しようとしていますが、そのうちの 2 つを計画しています。

私のアプリの主なデータは、ウィザード形式で入力されるさまざまな情報のシートです。MutableArray を使用してフォーム データを保持したいと考えています。

次に、MyClass の個々のインスタンス (シングルトン) をいつでも利用できるようにしたいと考えています。これは、ウィザード中に入力されるデータを受け入れるための一時的なプレースホルダーとして使用します。ユーザーがすべての手順を完了すると、その配列に新しいオブジェクトが作成されます。

CoreData から収集したことは、ManagedObjectContext をアプリケーションと iOS デバイス上のディスクとの間のブリッジとして使用する必要があるということです。私の質問は:

「アプリ デリゲートでこのコンテキストの 1 つのインスタンスを使用し、ファイルと対話する必要がある任意のビューから参照するだけにするか、すべての ViewController で新しいコンテキストを作成するか」

今はメモリ効率にこだわっていませんが、アプリをリリースする前にできるだけ効率的にしたいと思っています。

4

1 に答える 1

-1

アクセス レイヤーとしてシングルトン共有インスタンスがある場合は、それをコア データ コンテキストへのコミュニケーターにすることもできます。

UIManagedDocument を使用して管理オブジェクト コンテキストを設定することをお勧めします。最初はもう少し手間がかかりますが、たとえば、iCloud アクセスをより簡単に実装できます。

ただし、もちろん、シングルトンで (マネージド ドキュメントなしで) managedObjectContext を保持することもできます。または、設計されたコア データ アプリごとのように、アプリ デリゲート (どこからでも uiapplication 共有インスタンスによってアクセスできます) で保持することもできます。正しい方法は 1 つではないと思います。スタンフォード c193p レクチャー (iTunes で入手可能) を見て、コア データ セッションを見て、managedDocument アプローチを理解することができます。

于 2013-09-14T16:56:02.140 に答える