hachinoBlog

hachinobuのエンジニアライフ

CoreDataから取得してオブジェクトがdata:になった時の対処

SeminarテーブルとPlaceテーブルでリレーションを持たせてSeminarテーブルにPlaceオブジェクトのカラムであるplaceカラムを作成。
Seminarテーブルから一定の条件のデータを取得した際に

Seminar *semi = (Seminar *)[_fetchedResultsController objectAtIndexPath:indexPath];
Place *place = (Place *)[semi place];

としてplaceの情報を取り出したところ
(entity: Place; id: 0x1e98c730 ; data: )
となりPlaceのデータを取れない現象に陥った。
調べたところ

[request setReturnsObjectsAsFaults:NO]; 

上記を入れると解消するという記述を発見したが、残念ながら変わらず。。

解決した方法としては

Seminar *semi = (Seminar *)[_fetchedResultsController objectAtIndexPath:indexPath];
NSString *code = [semi valueForKeyPath:@"place.place_code"]; //Placeオブジェクトのコードカラムを取得

これでやったらPlaceのコード情報が取得できた。