我试图在核心数据中进行抓取,然后按照我的财产日期分组。
在SQL中
SELECT SUM(total) as value,
date as date,
strftime('%m-%Y', date) as convertDate
FROM table
GROUP BY convertDate
我没有看到任何可以使用strftime
的功能。
有没有办法使用NSFetchRequest
代替NSFetchedResultController
?
答案 0 :(得分:-1)
您可以使用NSExpressionDescription
,您可以看到this tutorial或此stackOverFlow question
对于此处的总和,NSExpressionDescription
将添加到您的NSFetchRequest
NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
expressionDescription.name = @"sumOfAmounts";
expressionDescription.expression = [NSExpression expressionForKeyPath:@"@sum.total"];
expressionDescription.expressionResultType = NSDecimalAttributeType;
对于日期,我认为您可以在获取提取记录时使用NSDateFormatter
对其进行格式化。
如果这有用,请告诉我。)
<强>更新强>
[fetch setPropertiesToFetch:[NSArray arrayWithObjects:statusDesc, expressionDescription, nil]];
[fetch setPropertiesToGroupBy:[NSArray arrayWithObject:statusDesc]];
[fetch setResultType:NSDictionaryResultType];
NSError* error = nil;
NSArray *results = [myManagedObjectContext executeFetchRequest:fetch
error:&error];