Core data ios 5 setPropertiesToFetch…不在问题组中

Core data ios 5 setPropertiesToFetch…不在问题组中,core-data,ios5,nsfetchedresultscontroller,Core Data,Ios5,Nsfetchedresultscontroller,我使用nsexpression对多个属性进行分组和计数。获取结果在ios 6和ios 7下运行良好,但在ios 5下不起作用 *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“查询中包含GROUP BY组件的SELECT子句只能包含GROUP BY或聚合函数中命名的属性(startDateTime不在GROUP BY中)” *第一次抛出调用堆栈: (0x3689022 0x309bcd6 0x13357d9 0x133543e 0x13351f0

我使用nsexpression对多个属性进行分组和计数。获取结果在ios 6和ios 7下运行良好,但在ios 5下不起作用

*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“查询中包含GROUP BY组件的SELECT子句只能包含GROUP BY或聚合函数中命名的属性(startDateTime不在GROUP BY中)” *第一次抛出调用堆栈: (0x3689022 0x309bcd6 0x13357d9 0x133543e 0x13351f0 0x1334fc3 0x1334619 0x133440B0 0x133345d 0x13312fd 0x138432b 0x13841fc 0x1384051 0x3285e00 0x1383ff5 0x1383e6d 0x13312fd 0x144043f 0x3a55f 0x38fea 0x22c5a1e 0x2430323 0x3a796 0xc961 0x1B001C6 0xc572 0xc42a 0x1B00684 0x215b34 0xDFF2 0x215B5B1084 0xC10BF42 0xC1015BF84)2 0x215a8d 0x1b05cd 0xd722 0x384b 0x21fc386 0x21fd274 0x220c183 0x220cc38 0x2200634 0x5177ef5 0x365d195 0x35c1ff2 0x35c08da 0x35bfd84 0x35bfc9b 0x21fcc65 0x21fe626 0x29ad 0x2915 0x1) 终止引发异常的调用

代码如下:

NSPropertyDescription *propDesc = [properties objectForKey:@"partyId"];
NSExpression *partyid           = [NSExpression expressionForKeyPath:@"partyId"];
NSExpression *partyIdCount      = [NSExpression expressionForFunction:@"count:" arguments:[NSArray arrayWithObject:partyid]];

NSExpressionDescription *countPartyId = [[NSExpressionDescription alloc] init];
[countPartyId setExpression:partyIdCount];
[countPartyId setExpressionResultType:NSInteger64AttributeType];
[countPartyId setName:@"countResultPartyId"];

NSExpression *startDateTime = [NSExpression expressionForKeyPath:@"startDateTime"];
NSExpression *latestDateTime = [NSExpression expressionForFunction:@"max:" arguments:[NSArray arrayWithObject:startDateTime]];
NSExpressionDescription *dateTimePropertyDescription = [[NSExpressionDescription alloc] init];
[callDateTimePropertyDescription setExpression:latestDateTime];
[callDateTimePropertyDescription setExpressionResultType:NSDateAttributeType];
[callDateTimePropertyDescription setName:@"latestDateTime"];

NSPropertyDescription *sortDateGroup = [properties objectForKey:@"sortDate"];
NSPropertyDescription *userId = [properties objectForKey:@"userId"];

[fetchRequest setPropertiesToGroupBy:[NSArray arrayWithObjects:propDesc,sortDateGroup,userId, nil]];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:propDesc,dateTimePropertyDescription, sortDateGroup,userId,countPartyId, nil]];
[fetchRequest setResultType:NSDictionaryResultType];

它似乎也希望我按时间
startDateTime
分组。但是分组不起作用,因为可能有多个startDateTime,我需要它的最新“max”时间。令人惊讶的是,它可以在ios 6和ios 7下工作——anyobe知道如何做到这一点吗?谢谢。

函数表达式:@“max:”或函数表达式:@“min:”在ios 5上不起作用。我不得不把它排除在查询之外。并进行了第二次查询以获取ios 5的最大nsdate