EOIFChainMessages

2007/03/30 (Fri) 22:07:46 JST

フェッチメッセージの連鎖

まず、データをフェッチする?EOFetchSpecificationを準備します。

EOQualifier qual =
    EOQualifier.qualifierWithQualifierFormat("movieID = 205",
                                             null);
EOFetchSpecification fs =
    new EOFetchSpecification("Movie", qual, null);
NSArray objects =
    session().defaultEditingContext()
             .objectsWithFetchSpecification(fs);

オブジェクトをフェッチするメソッドはEOEditingContext.objectsWithSpecification()です。 このメソッドを実行すると、EOEditingContextは親オブジェクトストアの同じメソッドを呼び出します。 さらに親オブジェクトストアは自身の親オブジェクトストアの同メソッドを呼び出し、最終的にはルートオブジェクトストアであるEOObjectStoreCoordinatorの同メソッドが呼ばれます。(EOEditingContextはネストできるので、親オブジェクトストアがEOEditingContextのこともありますが、通常はEOObjectStoreCoordinatorです)

EOObjectStoreCoordinator.objectsWithSpecification()の処理は簡単です。 フェッチするデータのEOModelを管理するEODatabaseContextを取得し、 さらにEODatabaseContext.objectsWithSpecification()を呼びます。 ここでフェッチメッセージの連鎖が終わります。


Inverse Pages: フェッチの舞台裏