有没有办法在 NSManagedObject 的子类中添加自定义查询方法?
我有一个名为 User 的域模型和一个名为 Message 的域模型。我已对其进行设置,以便用户与消息具有多对多关系。所以在我的应用程序中,当我这样做时
[userInstance messages];
它返回给我一个属于该用户的消息的 NSSet,这是完美的。但是消息域模型也有一个“活动”字段,它是一个布尔值。
我想在域模型上创建一个新方法,上面写着
- (NSSet *)activeMessages
显然,这是一种只返回 active = true 消息的方法。我知道我能做到
[userInstance messages];
然后只需循环并删除所有活动= false的,但这似乎有点低效。获取所有内容然后过滤似乎是一种浪费。我宁愿在查询中过滤掉它。
我能想到的唯一其他方法是以某种方式在域模型中获取 NSManagedObjectContext 以手动执行查询。
这是最好的方法吗?或者还有什么我可以做的吗?