如何统计coredata(聚合)?

2024-02-14

我正在学习核心数据,特别是聚合。

目前我想做的事:计算表中在某些条件下具有逆向关系的多对关系的记录数.

目前我正在这样做:

NSExpression *ex = [NSExpression expressionForFunction:@"count:" 
                                                 arguments:[NSArray arrayWithObject:[NSExpression expressionForKeyPath:@"ddname"]]];
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"ddtype == 'Home'"];
    NSExpressionDescription *ed = [[NSExpressionDescription alloc] init];
    [ed setName:@"countDDEvents"];
    [ed setExpression:ex];
    [ed setExpressionResultType:NSInteger16AttributeType];
    NSArray *properties = [NSArray arrayWithObject:ed];
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setPredicate:pred];
    [request setPropertiesToFetch:properties];
    [request setResultType:NSDictionaryResultType];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"DDEvent" inManagedObjectContext:[self.currentAccount managedObjectContext]];
    [request setEntity:entity];
    NSArray *results = [[self.currentAccount managedObjectContext] executeFetchRequest:request error:nil]; 
    NSDictionary *dict = [results objectAtIndex:0];
    NSLog(@"Average birthdate for female heroes: %@", [dict objectForKey:@"countDDEvents"]);

来自于杰夫·拉马什。

EDIT:我找到了我的解决方案

    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"ddtype == 'Home'"];
    [request setPredicate:pred];

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"DDEvent" inManagedObjectContext:[self.currentAccount managedObjectContext]];
    [request setEntity:entity];

    NSError *error = nil;
    NSUInteger count = [[self.currentAccount managedObjectContext] countForFetchRequest:request error:&error];

它工作得很好。但我想一次做更多此类类型的请求。所以我认为这不是获得计数的首选方式。

EDIT :

所以我认为这种方法是合适的方法???

那么谁能告诉我更有效的首选方法呢?

Thanks .


我必须计算大约 10 000 个实体,在使用 countForFetchRequest 进行计算时,它大大降低了我的界面响应速度。

这是使用 NSExpression 的一种方法:

- (NSUInteger) unfilteredFCsCount {

// Just the fetchRequest
    NSFetchRequest *fetchRequest = [self unfilteredFCsFetchRequest];

    [fetchRequest setResultType: NSDictionaryResultType];

// You can use any attribute of the entity. its important, because you are not counting 
// the properties, but actually the entities
    NSExpression *keyPathExpression = [NSExpression expressionForKeyPath: @"sortIndex_"]; // Does not really matter
    NSExpression *maxExpression = [NSExpression expressionForFunction: @"count:" 
                                                            arguments: [NSArray arrayWithObject:keyPathExpression]];
    NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
    [expressionDescription setName: @"fcCount"];
    [expressionDescription setExpression: maxExpression];
    [expressionDescription setExpressionResultType: NSInteger32AttributeType];

    [fetchRequest setPropertiesToFetch: [NSArray arrayWithObject:expressionDescription]];

    NSUInteger fcCount = 0;
    NSError *error = nil;
    NSArray *results = nil;
    results = [self.managedObjectContext executeFetchRequest: fetchRequest error: &error];
    KSLog(KSLogLevelDebug, @"unfilteredFCsCount results: %@", results);

    if([results count] > 0) {
        NSNumber *count = [[results objectAtIndex: 0] objectForKey: @"fcCount"];
        fcCount = [count intValue];
    }

    return fcCount;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何统计coredata(聚合)? 的相关文章

  • UiTextField 和 resignFirstResponder

    我有一个奇怪的设置 我有一个View called View1 and a ViewController call 视图控制器1 in IB View1是 的孩子视图控制器1 Inside View1 我使用代码创建UITextField并
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 核心数据对多关系。它们是延迟加载吗?

    我在核心数据 适用于 iPhone 中有典型的模型 其中包含部门和员工 部门 gt gt 员工 我不想每次加载时都加载一个部门的所有员工 所以我想将员工创建为获取的属性 我想我可以定义一些像这样的谓词 employee deparmentI
  • 是否为 Core Data 的获取结果控制器实现委托

    实现四种委托方法有什么好处 void controllerWillChangeContent NSFetchedResultsController 控制器 void 控制器 NSFetchedResultsController 控制器 di
  • 应用程序打开时处理推送通知

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • 将自己的结构传递到 opengl es 2.0 着色器中

    我想尝试 OpenGL ES 2 0 编程指南 一书中的照明示例 在着色器中他们制作了两种结构 struct directional light vec3 direction normalized light direction in ey
  • iOS 中的 CSV 逐行解析

    我正在 Objective c 中解析 CSV 文件 该文件包含如下内容 line 40 Rising searches line 41 nabi avc Breakout line 42 stonewall 700 line 43 med
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • UIScrollView - 启用分页后,我可以“更改”页面宽度吗?

    将滚动视图 将 pagingEnabled 设置为 YES 将页面宽度设置为滚动视图边界以外的其他值的最简单方法是什么 让我举个例子 假设我有一个包含 10 个项目的滚动视图 每个项目的宽度为 150 像素 而我的滚动视图的宽度为 300
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 在 swrevealcontroller 之前实现登录屏幕

    我刚刚开始学习 IOS 开发 我已经按照给定的在线教程成功实现了 SWRevealViewController 一切都按预期工作 然后 我决定添加一个登录屏幕 这将是应用程序运行时用户看到的第一个页面 我采取的步骤如下 将 UIViewCo
  • 在午夜更新应用程序徽章,并提供以下选项:应用程序未启动或在后台,徽章数量可能会减少

    我正在阅读许多有关本地通知的内容以及它们如何帮助更新应用程序徽章编号 我想在午夜更新此徽章 并将其值设置为我在午夜之前无法知道的数字 因此 如果可能的话 我想在午夜启动一个功能来更新 加载一些数据 检查要显示的数字 并将其显示在徽章上 当然
  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • 私人 iPhone 应用程序?

    我有兴趣编写连接到内部网或外部网的应用程序 换句话说 我想为我的客户制作私人应用程序 但我不希望每个人都能够访问它并能够下载它 您知道是否有一种方法可以将企业应用程序仅分发给特定的人 Android 也做同样的事情吗 The iPhone
  • 带有 Core Data 对象的动态 UITableView 高度

    过去几天我一直在试图解决一个谜团 即为什么我的批处理大小为 20 的 NSFetchedResultsController 总是在获取完成后立即错误 即加载到内存中 我的所有对象 从而导致请求需要约 20 秒 事实证明 这是因为在我的 he
  • GMSMapView 中的倒多边形

    我必须在我的 iPhone 项目中使用 Google 地图 并且我正在使用 GMSPolygon 来绘制多边形 但是如何填充地图上除多边形内部之外的所有位置 就像下图一样 谢谢 我玩过你的问题 主要思想是用多边形填充整个地球 然后为您的特定
  • 如何在 iOS 中注册自定义文件类型

    我目前正在创建一个应用程序 我想让用户在其中备份他们的文件 plist m4a 我压缩文件并将扩展名更改为自定义扩展名 专门针对我的应用程序 例如 MyBackup 然后 用户可以通过电子邮件或 iTunes 文件共享进行导出 我已经阅读过

随机推荐

  • 为什么我在 java 中使用 SimpleDateFormat 无法获得正确的年份?

    我试图解析 a 中的数据MySql格式 我遇到过SimpleDateFormat 我可以获得正确的日期和月份 但今年我得到了一个奇怪的结果 date 2009 06 22 SimpleDateFormat sdf new SimpleDat
  • 使用 mysql_set_charset('utf8') 函数后用 UTF-8 替换字符

    我将所有 mysql 表转换为 utf 8 unicode 并开始使用mysql set charset utf8 功能 但在此之后 一些字符如 开始看起来像 我怎样才能用UTF 8格式替换mysql中的这种字母 很快 我能找到所有这些字符
  • 如何仅使用单个 bean 并使用包含的resilience4j注释来运行SpringBootTest

    我想在 Spring Boot 应用程序中运行带有resilience4j 注释方法的单个 bean 的集成测试 我的目的是在不加载完整的 spring 上下文的情况下测试 bean 方法调用的弹性 设置如下 依赖项包括以下内容 io gi
  • std::set::equal_range 的用途是什么?

    Since std set不能包含重复元素并且始终已排序 std set equal range将始终返回没有元素或没有 1 个元素的范围 从技术上讲 是的 这仍然是range 但是这个算法的目的是什么 为了std set这似乎很没有必要
  • PKCS 11 中的 CKA_SENSITIVE 属性意味着什么?

    我正在阅读 PKCS 11 文档 但我无法清楚地理解密钥的 CKA SENSITIVE 属性意味着什么 更常见的是 我在哪里可以阅读属性描述 引用自PKCS 11 规范 v2 20 ftp ftp rsasecurity com pub p
  • 该类型和函数是否有现有名称?

    计算机科学中有两个难题 缓存失效 命名和差一错误 这是关于第二个问题 命名事物 我正在寻找这种技术或类型是否已经在其他地方使用过并且有一个名称 dichotomy是一个不错的名字 但是bools at compile time是一个可怕的
  • Curl 设置 Content-Type 不正确

    我正在命令行上运行curl 操作 但在强制将标头设置为XML 时遇到问题 我使用 H 选项强制 Content Type 为 xml 但是 一旦运行命令 我可以看到标头以 urlencoded 形式发送 这污染了我发送的数据值之一 有人可以
  • 交叉编译 GDB 时出现 Python 丢失或不可用错误

    我在尝试交叉编译 GDB 时收到此错误 使用 with python flag checking for python usr bin python checking for python2 7 no configure error pyt
  • 字节码是否被视为 JVM 的指令集?

    我正在读关于instruction set in wiki http en wikipedia org wiki Instruction set我看到了这一段 一些支持字节码作为 ISA 的虚拟机 例如 Smalltalk Java 虚拟机
  • ChannelOption.SO_BACKLOG 的作用是什么?

    option ChannelOption SO BACKLOG 100 Netty 4 升级文档中显示 你能解释一下它的作用吗 Thanks 它是一个传递的套接字选项 用于确定排队的连接数 http docs oracle com java
  • 在 C# 中去除 wav 标头

    我希望能够从 wav 文件中去掉标题 在 C 中有什么办法可以做到这一点吗 WAV 文件使用标准 RIFF 标头格式 看例子在这里 http www codeproject com KB files riffparser aspx 您可以使
  • CoreData 查询帮助

    我正在寻找在 CoreData 中编写一些基本查询的方法 但文档中没有示例 以下是我的查询 我有一个费用对象 它有一个费用金额字段 费用可以链接到 ExpenseCategory 对象 ExpenseCategory 可能仅定义费用类别 例
  • 我们可以使用 nlmrt 包中的 nlxb 进行预测吗?

    我问这个问题是因为我不明白为什么nlxb拟合函数不能与 Predict 函数一起使用 我一直在寻找解决这个问题的方法 但到目前为止还没有运气 I use dplyr对数据进行分组并使用do适合每个组使用nlxb from nlmrt包裹 这
  • 三.js:纹理到数据纹理

    我正在尝试在 JavaScript 中实现延迟网络摄像头查看器 使用 Three js 实现 WebGL 功能 我需要存储从网络摄像头抓取的帧 以便在一段时间 几毫秒到几秒 后显示它们 我可以在没有 Three js 的情况下使用canva
  • 适用于所有 x64 平台的 gcc 通用 March

    海湾合作委员会有 march and mtune如上所述的选项here http gcc gnu org onlinedocs gcc i386 and x86 002d64 Options html 但选择哪个选项并不明显x64平台作为通
  • Docker:无法建立连接,因为目标机器主动拒绝

    此处显示错误 https i stack imgur com fe1lz png我尝试了很多方法 例如重新安装 Docker 更改 DNS 服务器 重新启动 Windows 但没有任何效果 无法在本地 docker 中找到图像 hello
  • 如何将 Base64 字符串转换为图像,然后将其绑定到 Metro 风格应用程序中的 GridView?

    我从 Web 服务收集了产品 我在网格视图中预览该产品 但我以 Base64 字符串形式获取产品图像 如何将其转换为图像并将其绑定到网格视图中的图像 任何对我解决这个问题有帮助的代码 这似乎对我有用 public static Bitmap
  • Facebook iFrame 应用程序 - 如何使用 PHP SDK 获取 Preload FQL 结果?

    几年来我有一个 FBML 应用程序 一个小的Flash游戏 http apps facebook com video preferans 我现在正在尝试将其转换为 iFrame 应用程序 不幸的是 目前还没有太多关于 Facebook iF
  • C# 泛型类型约束

    这不应该是有效的 C 代码吗 class A
  • 如何统计coredata(聚合)?

    我正在学习核心数据 特别是聚合 目前我想做的事 计算表中在某些条件下具有逆向关系的多对关系的记录数 目前我正在这样做 NSExpression ex NSExpression expressionForFunction count argu