2011年2月20日日曜日

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

CoreData使っててログを出力したら <fault>って出て困った。
詳細はわかってないし、詳細も書かないですけど、出なくなったのでメモ残しとく。
  1. NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];  
  2. NSMutableArray *mutableFetchResults = [[[context executeFetchRequest:request error:&error] mutableCopy] autorelease];  

executeFetchRequest:error: で取ってきた結果を NSLogで見てみると、dataの中身が<fault>になってる。実際は登録してあるtimeStampが入ってくるはずなのに。
  1. "<NSManagedObject: 0x612da10> (entity: Event; id: 0x612ccc0 <x-coredata://61949995-D9C8-40AE-A339-D6C9FB160179/Event/p1> ; data: <fault>)"  

調べてみると、
  1. [request setReturnsObjectsAsFaults:NO];  

を入れればいいと。入れてみた。データ取れてるの確認できた。
  1. "<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 件のコメント:

コメントを投稿