核心数据在内存中的NSExpressionDescription引发的exception

我使用这个NSExpressionDescription来获取属性date_modified的最大值:

NSFetchRequest *dateModifiedFR = [[NSFetchRequest alloc] initWithEntityName:@"MyEntity"]; dateModifiedFR.resultType = NSDictionaryResultType; NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"date_modified"]; NSExpression *maxDateExpression = [NSExpression expressionForFunction:@"max:" arguments:@[keyPathExpression]]; NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init]; [expressionDescription setName:@"maxDate"]; [expressionDescription setExpression:maxDateExpression]; [expressionDescription setExpressionResultType:NSDateAttributeType]; dateModifiedFR.propertiesToFetch = @[expressionDescription]; NSError *error = nil; NSArray *resultDictionaries = [moc executeFetchRequest:dateModifiedFR error:&error]; NSDate *maxDate = [[resultDictionaries firstObject] valueForKey:@"maxDate"]; 

只要我使用SQLite商店,这在iOS 7下工作正常。 但是现在我想用我的unit testing运行这个代码,使用内存中的存储和执行这个获取请求抛出: 'NSInvalidArgumentException', reason: '-[__NSDate count]: unrecognized selector sent to instance 0xa01b410'

我知道在这种情况下还有其他方法可以获得最大值,但我很好奇这个获取请求有什么问题,或者为什么它不能在内存中运行。

看起来这实际上是一个错误。 我已经向苹果提交了一个雷达。