我有一个名为deal
的实体,而deal
有一个名为date
的属性,这是此交易对象插入商店的时间。
一天可能有几个deal
。
所以我想要按天计算一些数据组,我想要抓取day
和countofsomething
像:
2013-06-03 3
2013-06-02 4
并且我不想使用sectionPath
因为它只将交易放入部分。
我知道我可以通过另一个属性(类型:字符串)来完成此操作,例如dayOfTheDate
,就像每个对象中的2013-06-03
一样。
你能理解我在找什么吗?
在这里评论所以我可以提供更多细节
谢谢你们所有人。
答案 0 :(得分:4)
当我计算相同音符的数量
时,我是如何做到这一点的示例NSEntityDescription* entity = [NSEntityDescription entityForName:@"Assets"
inManagedObjectContext:[appDelegate managedObjectContext]];
NSAttributeDescription* statusDesc = [entity.attributesByName objectForKey:@"notes"];
NSExpression *keyPathExpression = [NSExpression expressionForKeyPath: @"assetUrl"]; // Does not really matter
NSExpression *countExpression = [NSExpression expressionForFunction: @"count:"
arguments: [NSArray arrayWithObject:keyPathExpression]];
NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName: @"count"];
[expressionDescription setExpression: countExpression];
[expressionDescription setExpressionResultType: NSInteger32AttributeType];
[searchFetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:statusDesc,expressionDescription, nil]];
[searchFetchRequest setPropertiesToGroupBy:[NSArray arrayWithObject:statusDesc]];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"timestamp" ascending:NO];
[searchFetchRequest setSortDescriptors:@[sortDescriptor]];
[searchFetchRequest setFetchLimit:10];
NSPredicate *query = [NSPredicate predicateWithFormat:@"notes contains[cd] %@",_txtCameraNote.text];
[searchFetchRequest setPredicate:query];
[searchFetchRequest setResultType:NSDictionaryResultType];
NSArray *fetchedObjects = [appContext executeFetchRequest:searchFetchRequest error:nil];
fetchedObjects
会是这样的。
({
count = 1;
notes = "glenny and me";
},
{
count = 6;
notes = macair;
})