2010-12-19 11 views
0

コアデータに関する2つの基本的な質問があります。コアデータ - 管理オブジェクトに関する質問

  1. 管理対象オブジェクトとは正確に何か - クラスの1インスタンスに相当します。たとえば、辺が&のような属性を持つShapeというエンティティがあり、テーブルに5つのエントリが表示されている場合は、それぞれ属性番号が5の管理オブジェクトがあることを意味します。側面の&色です。私はこの基本的な考え方について少し混乱しています。

  2. フェッチ結果コントローラ(FRC)とテーブルビューの関係はどういうものですか?私はデリゲートメソッドを知っていますが、FRCにどのように影響を与える/テーブルビューが正確に関係していますか?

基本的な例は本当に便利です。ありがとうございました。

答えて

0

Q1。管理対象オブジェクトは、アプリケーションによって永続化されたエンティティの表現です。これは、単に実際の持続型から離れた一般的な抽象化です。つまり、管理対象オブジェクトは具体的な型と同じキー/プロパティを持つことになります。 NSManagedbjectクラスは、キー値コーディングパターンを実装として、あなたは、実行時にそのキー/値を照会することができます... NSManagedObjectの完全なドキュメントについては

- (id)valueForKey:(NSString *)key 

here

Q2を参照してください。取得された結果コントローラは、UIViewControllerがUIViewに与えるものです。これには、テーブルビューの永続性を制御するロジックが含まれています。人生の唯一の目的は、UITableViewからデータベース処理ロジックを引き離すことです。 UITableViewのコンテキストで実行する動作を定義することができます。つまり、そのデリゲートは、UITableViewに明示的に影響を与えるシグネチャを持つメソッドを提供します。

+0

簡単に説明してください。私は非常に高度なObj-Cユーザーではありません。 – hmthur

+1

"エンティティ"を永続ストアからフェッチするたびに、その属性にアクセスする方法が必要です。 NSManagedObjectは単なる "エンティティ"のデータのラッパーです。 valueForKey:とsetValue:forKey:で属性にアクセスすることができます。 NSManagedObjectsは、現在フェッチされたエンティティにマスクされた一種のインターフェイスであり、「通常の」オブジェクトのように扱うことができます。 – mackross

0

Q1。はい、そこに5つの管理オブジェクトがあり、利用可能です。あなたが望むなら、あなたは5つをすべてアレイに入れることができます。管理対象オブジェクトとは、挿入、変更、および削除アクションをデータベースに管理するためのコードがあることを意味する言葉です。つまり、ライフサイクルを通じて管理するコードがあります。あなたはFRCを介してそれを取得し、FRCはデータベースからオブジェクトのインスタンスをフェッチし、コードが^結果^に何が起こるかを制御することを許可します。したがって、名前。

関連する問題