ios - 核心数据,获取某个 bool 值属性的总和

标签 ios objective-c core-data attributes

我正在记录 Core Data属性“通过”( bool 值)

for (Circuit *object in self.distributionBoard.circuits) {
        NSLog(@"Core Data Value =  %d", object.passed);


    }

这记录很好。计算保存的 bool 值 == 1 次数的最有效方法是什么? ?

使用 NSFetchRequesNSExpression到目前为止没有产生预期的结果。看过这里:Core Data sum of all instances attribute和类似的,通常的搜索

最佳答案

由于您的属性是 bool 值,因此您可以使其比该答案中描述的方法简单得多。使用谓词匹配 passed 的值然后获取结果的计数而不是获取的对象。就像是:

NSFetchRequest<Event *> *fetchRequest = MyEntity.fetchRequest;
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"passed = true"];
NSError *error = nil;
NSUInteger count = [self.managedObjectContext countForFetchRequest:fetchRequest error:&error];

然后count具有 passed 的实例数是 true .

关于ios - 核心数据,获取某个 bool 值属性的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53507195/

相关文章:

ios - UIBarButtonItem : How can I find its frame?

ios - 解除分配旧 UIVIewController 的 UIStoryboard segue

ios - 如何防止未初始化数据的快速 CoreData 崩溃

ios - 如何使用 swift 3 xcode 8 在核心数据中预加载数据库

objective-c - iOS:对五个按钮使用相同的 UIView

ios - 一次向核心 - 数据关系添加多个操作

ios - 获取请求返回 {(//value )} 而不仅仅是值

ios - 为什么 arc4random() 在将其存储在变量中时表现不同?

iphone - 弗兰克设置完成,但 cucumber 测试不工作

ios - 在 Swift 中使用委托(delegate)模式重构 CNContactPicker UI 代码