Я ищу эффективный способ сделать это.У меня есть сущность с 2 атрибутами: isPrivate и points.isPrivate может иметь одно из двух значений: y или n.Очки, число в диапазоне от -200 до 200.
Мне нужно сгруппировать сумму очков следующим образом:
-200 to 0: 340pts
0 to 100: 231pts
100 to 200: 987pts.
В настоящее время я запускаю предикат, чтобы получитьзаписи, по одной на каждый диапазон, который мне нужен:
...
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isPrivate = %y"];
...
NSArray *ks = [[NSArray alloc] initWithArray:[context executeFetchRequest:fetchRequest error:&error]];
NSNumber *t = [ks valueForKeyPath:@"@sum.points"];
...
, и это работает, но я ищу лучший способ сделать это.
Во-первых, так, как яделая это, я загружаю записи в память, затем в NSArray.Если бы я мог этого избежать, было бы идеально. Во-вторых, если бы я мог сделать это за один шаг, это могло бы быть лучше., не загружайте записи в память и получайте только сумму, а не все данные.
tks.