我有两个核心数据实体,一个称为“人”,另一个称为“代码”。一个人与代码具有一对多的关系。
我想检索特定人员的所有代码,并具有以下功能:
static func fetchCodes(person: Person) -> [Codes]? {
let context = getContext()
let fetchRequest : NSFetchRequest<Codes> = Codes.fetchRequest()
let sortDescriptor = NSSortDescriptor(key: #keyPath(Codes.number), ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
//print("person in fetchCodes=\(person.first)")
fetchRequest.predicate = NSPredicate(format: "whosAccount == %@", person)
do {
let codes: [Codes] = try context.fetch(Codes.fetchRequest())
//print("Codes count from fetchCodes: \(codes.count)")
return codes
} catch {
return nil
}
}
我检查了参数person
实际上是我要为其检索代码的正确Person,但结果返回了所有Person的所有Code。我想念什么?
答案 0 :(得分:0)
您不需要获取或谓词,您可以将关系作为属性访问
Tools
答案 1 :(得分:0)
由于您拥有Search files (Grep)
,因此无需获取任何数据,只需从关系中获取let codes = person.codes
Person