我有一个父子<-->>
关系(对多)。关系是当我需要获取所有孩子时,Parent.children = (NSSet *) child(s)
有时我只需要一个基于子实体的 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 中找到的最新实体的指针,但它看起来非常费力,尽管我必须只分配一个指向最新实体的指针一个特定的父级,迭代一个可能有一百多个实体的 NSSet 似乎bad programming
。
有任何想法吗?