5
我有星期模型,將Day作爲子對象。周模型中有「天」關係屬性來訪問所有關聯的日期對象。日模式具有持續時間屬性。如何在CoreData上使用@sum
如何計算指定周對象的一天持續時間總和?讓代碼示例如何使用@sum函數創建一個謂詞對象會很好。
也有可能有「計算」周WeekDuration屬性給定值 相關日期的持續時間在取回?對於這個問題,這將是最優雅的解決方案,但我不認爲CoreData可能會這樣。
我有星期模型,將Day作爲子對象。周模型中有「天」關係屬性來訪問所有關聯的日期對象。日模式具有持續時間屬性。如何在CoreData上使用@sum
如何計算指定周對象的一天持續時間總和?讓代碼示例如何使用@sum函數創建一個謂詞對象會很好。
也有可能有「計算」周WeekDuration屬性給定值 相關日期的持續時間在取回?對於這個問題,這將是最優雅的解決方案,但我不認爲CoreData可能會這樣。
下面是一個例子,你將如何設置你的查詢只找到周,其中天期限的總和大於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:@"[email protected] > 100"];
NSError *error = nil;
NSArray *results = [context executeFetchRequest:fr error:&error];
if (error) {
NSLog(@"ERROR: %@", error);
}
NSLog(@"Results: %@", results);
實際上,你可以實現一個類似的計算性能只需將它添加到支持您的Week實體的NSManagedObject子類中:
- (NSNumber *) duration {
return [self valueForKeyPath:@"[email protected]"];
}