我有一个核心数据模型,如下所示:
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; 我的问题是:
我应该如何为每一位作者获得最新的书名?我能在我的原始请求中获得这些信息吗?或者我需要做一些额外的请求吗?
发布于 2014-01-04 00:44:17
如果已经有Author托管对象,则不需要执行另一个fetch请求。只需从Author的books属性创建一个排序数组,就可以使用NSSet的sortedArrayUsingDescriptors:方法并传递一个按发布日期排序的描述符。
发布于 2014-01-04 00:17:02
要将其作为同一请求的一部分,可以在Author对象上包含一个属性,该属性存储最新的书籍
Author
======
- name
- bio
- latestBook
- books (to-many relationship)要获得详细信息,只需使用author.latestBook.title
在将最新的图书添加到latestBook属性时,还需要设置books属性。
或者,它可能是一个临时属性,您可以根据最新的releaseDate从一组书籍中计算该属性。
https://stackoverflow.com/questions/20914287
复制相似问题