CoreData relations は valueForKey でも指定できる

CoreData で many to many を指定。あるレコードに関連づけられた N のレコード数は一体どうやって取り出すのだ?と疑問が生じました。一覧の画面で、detail に登録した野鳥の数だけ表示したいと思ったんです。

ダメ元で、relations で規定した文字を指定してみました。

    NSMutableArray* many_records = [object valueForKey:@"toWildBird"];

    cell.numberOfObserve.text = [NSString stringWithFormat:@"Wild Bird (s): %ld", [many_records count]];

 

なんのエラーにもならず、ちゃんと動くのですね。

分かってくると、やっぱり CoreData は便利だなと実感しました。