使用Core Data获取一对多关系

时间:2016-11-22 18:44:03

标签: swift core-data relationship one-to-many

我是一个快速的初学者,我想为我编写一个小应用程序,我有一个问题。我的应用程序有三个实体(模板,记录和职位),您可以在这里看到:

Datamodel

在应用程序的一部分,我可以添加新记录,对于该记录,我添加了一些位置(xpos和ypos)。

在我有一个tableview的部分,我列出了我的记录。现在我想点击表格中的一个记录,我希望获得与特定选定记录链接的所有位置属性。

使用该代码我可以获得所有 xpos-Positions,但我如何获得 xpos? :)

guard let moc = self.managedContext else {
   return
}

let fetchRequest: NSFetchRequest<Records> = Records.fetchRequest()

do {
   let searchResults = try moc.fetch(fetchRequest)
   let xpos = searchResults[0].positions?.mutableArrayValue(forKey: "xpos")
   print(xpos)
} catch {
   print("Error with request: \(error)")
}

1 个答案:

答案 0 :(得分:0)

您希望了解使用NSPredicateNSPredicate基本上允许您定义记录需要满足的条件才能包含在结果中。如果愿意,可以将其视为过滤器。

fetchRequest.predicate = NSPredicate(format: "uniqueID = %@", arugments:...)