【发布时间】:2013-06-01 07:58:09
【问题描述】:
我必须对超过 3 个属性进行计数和分组。 我在用日期分组和计数字段时拉头发(yyyy/mm/dd HH:mm:ss) 我想按年-月-日分组并忽略时间。但我仍然需要时间查看详细信息。时区在这里起着重要作用。所以我只是把它保存为 utc 格式。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"logs"
inManagedObjectContext:context;
NSAttributeDescription* att3 = [entity.attributesByName objectForKey:@"savedDate"];
NSExpression *keyPathExpression3 = [NSExpression expressionForKeyPath: @"savedDate"];
NSExpression *countExpression3 = [NSExpression expressionForFunction: @"count:"
arguments: [NSArray arrayWithObject:keyPathExpression3]];
NSExpressionDescription *att3Description = [[NSExpressionDescription alloc] init];
[expressionDescription3 setName: @"countSavedDate"];
[expressionDescription3 setExpression: countExpression3];
[expressionDescription3 setExpressionResultType: NSInteger32AttributeType];
...
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:att1, att1Description, att2, att2Description, att3, att3Description, att4Description, att4, nil]];
[fetchRequest setPropertiesToGroupBy:[NSArray arrayWithObjects:att1, att2, att2, att3, nil]];
[fetchRequest setResultType:NSDictionaryResultType];
如何按日期分组 (yyyy/MM/dd)?可以转换为 UTC 吗?
提前致谢
ps:对瞬态属性进行分组不起作用且无法获取。
【问题讨论】:
-
它不是该链接的副本。我必须按多个属性分组。 nsfetchresultcontroller 只能按一个属性分组.. 无论如何感谢您的努力
标签: ios core-data nsfetchrequest