Почему бы не попробовать использовать небуферизованный файл?
f = open('xyz.log', 'a', 0)
ИЛИ
sys.stdout = open('out.log', 'a', 0)
Вот пример того, как вы можете настроить свой запрос на поиск только недель, в которых сумма продолжительности дней больше 100.
NSManagedObjectContext *context = ...;
NSManagedObjectModel *model = ...;
NSFetchRequest *fr = [[NSFetchRequest alloc] init];
fr.entity = [model.entitiesByName objectForKey:@"Week"];
//This predicate will be compiled into pure SQL
fr.predicate = [NSPredicate predicateWithFormat:@"days.@sum.duration > 100"];
NSError *error = nil;
NSArray *results = [context executeFetchRequest:fr error:&error];
if (error) {
NSLog(@"ERROR: %@", error);
}
NSLog(@"Results: %@", results);
Фактически вы можете реализовать вычисленное свойство в аналогичным образом, просто добавьте это в подкласс NSManagedObject, поддерживающий вашу сущность Week:
- (NSNumber *) duration {
return [self valueForKeyPath:@"days.@sum.duration"];
}