我有一个核心数据模型,看起来像这样:
Author
======
- name
- bio
- books (to-many relationship)
Book
====
- title
- release date
- author (to-one relationship)
我向用户呈现作者的表格视图,每个表格单元格代表一位作者,并显示他的
name
和他写的最新书的title
。为了显示作者列表,我使用了
NSFetchedResultsController
和以下NSFetchRequest
:NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Author"];
request.predicate = nil;
request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];
request.fetchBatchSize = 20;
我的问题是:
我应该如何获得每位作者的最新书名?我可以在原始请求中获取该信息,还是需要执行其他一些请求?
最佳答案
如果您已经有一个Author
受管对象,则无需执行另一个获取请求。只需从Author
的books
属性创建一个排序数组。为此,您可以使用NSSet
的sortedArrayUsingDescriptors:
方法并传入按发布日期排序的描述符。
关于ios - 核心数据-查询多对多关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20914287/