0

iOS用の新しいプロジェクトを開始しようとしています。エンドユーザーのデータを保存するための主要な手段としてCoreDataを使用します。アプリケーションの計画段階で、コアデータオブジェクトの保存、読み込み、削除をどのように行うかという問題が発生しました。考えられる3つの方法を次に示します。

方法1
アプリケーションデリゲートでユニバーサルデータオブジェクトを作成し、その方法を使用して各ViewControllerに取得しますUISharedApplication。これは、アプリケーションが起動すると、ゲッターとセッターを使用してオブジェクトを作成することを意味します。
方法2
データモデルクラス(のサブクラスNSObject)そしてそれをすべてのViewControllerで初期化します。これは、すべてのビューコントローラが、初期化時にデータモデルクラスに渡す独自のNSManagedObjectContext(アプリケーションデリゲートが起動時に提供する)を持っている必要があることを意味します。これは、View Controller全体で、独自のデータモデルクラスを使用し、そこからメソッドを呼び出すことを意味します。
方法3
個々のViewControllerに単独で保存を実行させます。たとえば-(IBAction)didAdd;、データベースに保存するためのすべてのコードが含まれています。NSFetchResultsControllerこれにより、View Controller(バッチサイズなど)に基づいて正しい設定を行うことができるため、効率的なデータ呼び出しが容易になります。

どちらの方法が私にとって最善の方法かわかりません。どちらの方法が最適か、またはどれも適切でない場合は、これを行うための最善の方法を教えていただければ幸いです。

4

1 に答える 1

0

メソッド番号4もあります。これは、メソッド1に似ています。データアクセスコードをモデルクラスに入れて、シングルトンにします。これは、異なるコントローラー間でモデルの状態を共有するための標準的な方法です。すべてのデータ管理コードをそのシングルトンモデルに入れると、コードの重複を避けるのに役立ちます。

于 2012-07-06T02:06:31.763 に答える