首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFetchedResultsController对象对实体的计数

NSFetchedResultsController对象对实体的计数
EN

Stack Overflow用户
提问于 2018-09-06 07:14:09
回答 3查看 304关注 0票数 1

我有一个核心数据,其中一个名为“香烟”的实体具有“时间”属性。在我的表视图中,我必须用每天的香烟总数填充每个单元格。如何使用NSFetchedResultsController来完成这一任务?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-06 22:32:40

苹果有一个示例应用程序,演示了如何让FRC按日期对项目进行分组。遗憾的是,这是一个用Objective编写的旧应用程序,但是this question广泛地展示了如何在Swift中实现它。

您还需要修改标准的FRC tableView数据源方法和FRC自己的委托方法,因为与其为每个项需要一个单元格,还需要为每个“组”(即。日期)。

票数 1
EN

Stack Overflow用户

发布于 2018-09-06 07:19:07

要获取特定一天的实体,您必须使用NSPredicate获取所需的日期实体,并将此谓词应用于NSFetchRequest,您将只获得该日期实体。

票数 0
EN

Stack Overflow用户

发布于 2018-09-06 07:21:09

您可以使用fetchedResultsController获取数据。

obj-c

代码语言:javascript
复制
NSArray *fetchedData = [_fetchedResultsController fetchedObjects];

Swift

代码语言:javascript
复制
guard let quotes = fetchedResultsController.fetchedObjects else { return 0 }

如果有多个实体,则为每个实体构建一个获取请求。像这样的东西应该能给你所有的东西。

Obj-c

代码语言:javascript
复制
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:self.entityName inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSError *error;
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];

Swift

代码语言:javascript
复制
var request = NSFetchRequest()
var entity = NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
request.entity = entity
var error: Error?
var results = try? managedObjectContext.fetch(request)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52198419

复制
相关文章

相似问题

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