【发布时间】:2016-02-28 09:40:56
【问题描述】:
这是否可以在过滤器中使用聚合函数:
var expressionDescriptions = [AnyObject]()
let request = NSFetchRequest(entityName: "Item")
let expressionDescription = NSExpressionDescription()
expressionDescription.name = "requestsCount"
expressionDescription.expression = NSExpression(format: "@sum.requests.id")
expressionDescription.expressionResultType = .Integer32AttributeType
expressionDescriptions.append(expressionDescription)
request.predicate = NSPredicate(format: "requestsCount != sitesCount")
request.propertiesToFetch = expressionDescriptions
do {
let items = try self.managedObjectContext.executeFetchRequest(request)
} catch {
}
此代码返回错误:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'keypath requestsCount not found 在实体中
【问题讨论】: