3

ストレージに CoreData を使用するアプリケーション (iPad & Mac Lion) があります。このアプリは、多数のハードウェア デバイスからデータをインポートし、データを多数の個別のイベントにデコードし、イベントのリストをユーザーに提示します。ユーザーは、保存するイベントを選択できます。

現時点では、イベントごとに CoreData 以外のオブジェクトを作成し、ユーザーが選択したものを CoreData エンティティに変換してストアに保存します。これは、基本的に各オブジェクトに対して 2 つのクラスがあることを意味します。1 つのマネージド CoreData オブジェクトと、ユーザーがイベントを選択する前にイベントを表す別の非マネージド オブジェクト。

これを行うには、より優れた、コードのオーバーヘッドが少ない(読み取り:より管理しやすい)方法があるに違いないと思います。

  • ストアに保存せずにコア データ エンティティを作成し、ユーザーが選択したものだけを保存することはできますか?
  • または、CoreData を使用して、これを構造化する他の方法はありますか?
4

1 に答える 1

1

これが管理対象オブジェクト コンテキストの目的です。:-) ユーザーが「データベース」に持っている実際のデータを表示する通常のデータ コンテキストとは別に、「インポート コンテキスト」を作成します。そのコンテキストですべてのオブジェクトを作成し (保存しないでください)、ユーザーが不要なものを削除できるようにし、インポートと保存が完了したらコンテキストをマージします。

于 2011-10-03T21:07:16.020 に答える