我有两个名为患者和录音的核心数据实体。患者可以进行单次或多次录音。我想要一个视图加载我可以在单个提取中获取两个实体属性的信息,就像我们在使用join的sql中所做的那样。有什么帮助吗?
患者可以进行单次录音或多次录音。现在在查看负载我显示来自核心数据患者实体的所有患者。我希望在表格单元格中显示图像,如果患者已完成录制,则会显示录制图标,或者如果已完成转录,则它也具有转录图标,如果患者没有录制,则没有图标显示。我想获取两个表格的数据在一次获取中。
func FetchSearchData() {
let uid = defaults.value(forKey: "UserID")
searchTasks.removeAll()
let fetchRequest:NSFetchRequest<Patients> = Patients.fetchRequest()
let sortDescriptor = NSSortDescriptor(key: "dateSchedule", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
let predicate = NSPredicate(format: "(userID=%@)", uid as! CVarArg)
fetchRequest.predicate = predicate
do {
let count = try getContext().count(for: fetchRequest as! NSFetchRequest<NSFetchRequestResult>)
if count > 0 {
let fetchResult = try getContext().fetch(fetchRequest)
for item in fetchResult {
searchTasks.append(item)
searchTableView.reloadData()
}
} else {
searchTableView.reloadData()
}
}catch {
print(error.localizedDescription)
}
}
我创造了我们在图像中看到的关系。如何检查哪个患者有录音存在?
答案 0 :(得分:2)
使用Core Data,您一次只能获取一种实体类型。核心数据不是SQL。
Core Data样式的方法类似于:获取Patients
的实例。然后在每个sounds
实例上使用Patients
关系来获取有关哪些记录存在的信息。例如,如果您想知道特定患者是否有录音,请查看sounds
关系 - 这是一个集合 - 并查看它是否为空。