Ios 从CoreData Swift中的多个实体获取属性

Ios 从CoreData Swift中的多个实体获取属性,ios,swift,core-data,Ios,Swift,Core Data,我有两个核心数据实体,分别是患者和记录。患者可以有一次或多次录音。我希望在加载视图时,我可以在一次获取中获取两个实体属性的信息,就像我们在sql中使用join所做的那样。有什么帮助吗 患者可以进行一次录音听写或多次录音听写。现在在视图加载时,我显示了核心数据patients实体中的所有患者。我想在表格单元格中显示图像,如果患者已完成录制,则显示录制图标;如果已完成转录,则显示转录图标;如果患者未完成录制,则没有任何图标显示。我想在一次提取中获取两个表格的数据 func FetchSearch

我有两个核心数据实体,分别是患者和记录。患者可以有一次或多次录音。我希望在加载视图时,我可以在一次获取中获取两个实体属性的信息,就像我们在sql中使用join所做的那样。有什么帮助吗

患者可以进行一次录音听写或多次录音听写。现在在视图加载时,我显示了核心数据patients实体中的所有患者。我想在表格单元格中显示图像,如果患者已完成录制,则显示录制图标;如果已完成转录,则显示转录图标;如果患者未完成录制,则没有任何图标显示。我想在一次提取中获取两个表格的数据

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)
        }

    }
func FetchSearchData(){
让uid=defaults.value(forKey:“UserID”)
searchTasks.removeAll()
let fetchRequest:NSFetchRequest=Patients.fetchRequest()
让sortDescriptor=NSSortDescriptor(键:“dateSchedule”,升序:true)
fetchRequest.sortDescriptors=[sortDescriptor]
let predicate=NSPredicate(格式:“(userID=%@)”,uid为!CVarArg)
fetchRequest.predicate=谓词
做{
let count=try getContext().count(对于:fetchRequest as!NSFetchRequest)
如果计数>0{
让fetchResult=try getContext().fetch(fetchRequest)
对于fetchResult中的项{
searchTasks.append(项目)
searchTableView.reloadData()
}
}否则{
searchTableView.reloadData()
}
}抓住{
打印(错误。本地化描述)
}
}

我已经建立了我们在图中看到的关系。现在如何检查哪个患者存在记录?

对于核心数据,一次只能获取一种实体类型。核心数据不是SQL


核心数据风格的方法类似于:获取
患者的实例。然后在每个
患者
实例上使用
声音
关系来获取关于存在哪些录制的信息。例如,如果您想知道某个特定患者是否有记录,请查看
声音
关系-这是一个集合-并查看它是否为空。

我不是核心数据专家,但到目前为止您尝试了什么?什么失败了?您的核心数据模型是什么样子的?你在尝试什么提取请求?你能至少对你想要的提取进行伪编码吗do@Robotic谢谢你编辑的问题。下次来这里时,我一定会检查一下关于提问的规定。谢谢