Основные данные, получить сумму определенных атрибутов логического значения - PullRequest
0 голосов
/ 27 ноября 2018

Я регистрирую атрибут Core Data «пройден» (логическое значение)

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


    }

Это хорошо регистрируется.Какой самый эффективный способ подсчитать, сколько раз сохраненное логическое значение == 1?

Использование NSFetchReques или NSExpression пока не дало желаемого результата.Посмотрел здесь: Базовая сумма данных всех атрибутов экземпляров и аналогичных с обычным поиском

1 Ответ

0 голосов
/ 28 ноября 2018

Поскольку ваше свойство является логическим, вы можете сделать его намного проще, чем методы, описанные в этом ответе.Используйте предикат, чтобы соответствовать значению 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...