2011年2月20日日曜日

[request setReturnsObjectsAsFaults:NO]; を指定したら <fault>が消えた件

CoreData使っててログを出力したら <fault>って出て困った。
詳細はわかってないし、詳細も書かないですけど、出なくなったのでメモ残しとく。

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSMutableArray *mutableFetchResults = [[[context executeFetchRequest:request error:&error] mutableCopy] autorelease];

executeFetchRequest:error: で取ってきた結果を NSLogで見てみると、dataの中身が<fault>になってる。実際は登録してあるtimeStampが入ってくるはずなのに。

"<NSManagedObject: 0x612da10> (entity: Event; id: 0x612ccc0 <x-coredata://61949995-D9C8-40AE-A339-D6C9FB160179/Event/p1> ; data: <fault>)"

調べてみると、

[request setReturnsObjectsAsFaults:NO];

を入れればいいと。入れてみた。データ取れてるの確認できた。

"<NSManagedObject: 0x6132890> (entity: Event; id: 0x6131ae0 <x-coredata://61949995-D9C8-40AE-A339-D6C9FB160179/Event/p1> ; data: {\n timeStamp = \"2011-02-19 12:54:27 +0000\";\n})"

0 件のコメント:

コメントを投稿