Ich habe sowohl bei Google als auch bei SE nachgesehen und konnte die Antwort auf meine Frage nicht finden. Daher entschuldige ich mich, wenn ich übersehen habe, was eine einfache Lösung sein könnte. Ich bin immer noch grün, also habe ich wahrscheinlich nicht die richtigen Suchbegriffe verwendet. :)KVC-Fehler beim Abrufen der Aggregateigenschaft
Okay, ich fühle mich wie 99% wo ich sein möchte. Ich habe die folgende Klasse Funktion:
class func fetchGroupTotal(_ group: Int, for managedObjectContext: NSManagedObjectContext) -> Double {
let fetchRequest: NSFetchRequest<Group> = Group.fetchRequest()
let keyPathExpression = NSExpression(forKeyPath: "accounts.balance")
let sumExpression = NSExpression(forFunction: "sum:", arguments: [keyPathExpression])
let expressionDescription = NSExpressionDescription()
expressionDescription.name = "groupSum"
expressionDescription.expression = sumExpression
expressionDescription.expressionResultType = .decimalAttributeType
fetchRequest.propertiesToFetch = [expressionDescription]
fetchRequest.resultType = .dictionaryResultType
do {
let results = try managedObjectContext.execute(fetchRequest)
print("\(results)")
return results.value(forKey: "groupSum") as! Double
} catch {
fatalError("Error fetching SUM: \(error)")
}
}
Kurz gesagt, ich versuche, ein sum
auf der accounts
Beziehung zu tun, und das Teil scheint zu funktionieren. Das Problem tritt auf, wenn ich versuche, auf die von mir definierte Eigenschaft groupSum
zuzugreifen. Ich erhalte die folgende Fehlermeldung:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<NSAsynchronousFetchResult 0x600000288de0> valueForUndefinedKey:]: this class is not
key value coding-compliant for the key groupSum.'
Wie gehe ich über meine groupSum
aus den Ergebnissen zu bekommen?