私は親子<-->>
関係を持っています(対多)。そして、関係は私がすべての子をフェッチする必要があるときです、Parent.children = (NSSet *) child(s)
子エンティティのtimeStamp属性に基づいて、最新のエンティティを1つだけ必要とする場合があります。
フェッチ要求を作成してフェッチ制限1を設定し、ソート記述子を使用してtimeStampに基づいて順序付けるよりも簡単に、フェッチする最も簡単な方法を探していました。
もっと簡単な方法はありますか?多分電話するだけです:
[Parent.children firstObject];
その理由は、アプリの存続期間中、何度も取得する必要があるためです。場合によっては、..内の最新の子エンティティをフェッチする必要がありますが、その-(void)awakeFromFetch() of a Parent Entity
ため、特にメモリの観点から、他の何よりも簡単な方法が必要でした。
子エンティティをフェッチするとき、この述語を使用して、2つ以上の親エンティティの子であるそれらの束をフェッチします。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"forParent IN %@", [Array of Parents]];
結果のNSSetから、上記のオブジェクトに必要なすべての子エンティティを取得するので、 timeStamp属性(NSDate)に従って最新の子へのポインターを割り当てることができれば非常に便利です。
明らかに、NSSetの結果を取得した後、各子を反復処理して、NSSetで見つけた最新のエンティティへのポインターを割り当てることができますが、の最新のエンティティへのポインターを1つだけ割り当てる必要がありますが、かなり骨の折れる作業に見えます。特定の親、100を超えるエンティティを持つ可能性のあるNSSetを繰り返すようbad programming
です。
何か案は?