首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心数据-查询到-多个关系

核心数据-查询到-多个关系
EN

Stack Overflow用户
提问于 2014-01-03 23:01:49
回答 2查看 98关注 0票数 1

我有一个核心数据模型,如下所示:

代码语言:javascript
复制
Author
======
- name
- bio

- books (to-many relationship)


Book
====
- title
- release date

- author (to-one relationship)  

我向用户提供一个作者的表视图,每个表格单元格代表一个作者,并显示他的name和他所写的最新书的title

为了显示作者列表,我使用了一个NSFetchedResultsController和下面的NSFetchRequest

代码语言:javascript
复制
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Author"];
request.predicate = nil;
request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]];
request.fetchBatchSize = 20;  

我的问题是:

我应该如何为每一位作者获得最新的书名?我能在我的原始请求中获得这些信息吗?或者我需要做一些额外的请求吗?

EN

回答 2

Stack Overflow用户

发布于 2014-01-04 00:44:17

如果已经有Author托管对象,则不需要执行另一个fetch请求。只需从Authorbooks属性创建一个排序数组,就可以使用NSSetsortedArrayUsingDescriptors:方法并传递一个按发布日期排序的描述符。

票数 1
EN

Stack Overflow用户

发布于 2014-01-04 00:17:02

要将其作为同一请求的一部分,可以在Author对象上包含一个属性,该属性存储最新的书籍

代码语言:javascript
复制
Author
======
- name
- bio
- latestBook

- books (to-many relationship)

要获得详细信息,只需使用author.latestBook.title

在将最新的图书添加到latestBook属性时,还需要设置books属性。

或者,它可能是一个临时属性,您可以根据最新的releaseDate从一组书籍中计算该属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20914287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档