过滤掉没有关系的核心数据条目
假设您有一个名为“图书馆”的实体,并且每个图书馆都可以包含书籍。图书馆有可能根本没有书。是否可以过滤获取请求,以便我只检索包含书籍的图书馆?
我读过,您可以在 NSPredicate 中使用 NSArray 的 SIZE 标记(例如,myArray[SIZE]),但此标记似乎不适用于 NSSet(在 Core Data 中的一对多关系中)。
是否有等效的标签可用于计算图书馆中的图书数量并据此过滤结果?
Assume you have an entity called Library and each Library can contain Books. It is possible for a Library to have no books at all. Is it possible to filter a fetch request so I only retrieve the Libraries that contain books?
I have read that you can use the SIZE tag for NSArrays (for example, myArray[SIZE]) in an NSPredicate, but this tag does not seem to work for NSSets (in a to-many relationship in Core Data).
Is there an equivalent tag that can be used to count the number of Books in a Library and filter the results based on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
books.@count
,假设books
是从Library
到Book
的一对多关系。You can use
books.@count
, assumingbooks
is the to-many relationship fromLibrary
toBook
.您可以尝试为计算并返回计数的 NSManagedObject 定义一个自定义属性。基本上,为只读属性定义一个自定义方法,而不是使用 @synthesize 或 @dynamic 调用 nsset 上的 count,然后使用其上的谓词。
You might try defining a custom property for your NSManagedObject that computes and returns the count. Basically go in and define a custom method for a read-only property instead of using @synthesize or @dynamic that calls count on the nsset, then use the predicate on that.