swift - 关于许多逆过程
问题描述
我将数据存储在核心数据中作为一对多关系,其中一个是父母,许多是孩子我如何知道我是否有孩子与哪个父母相关?我知道如何从父母那里接孩子,但我想要相反的过程。这是保存数据的代码
let parent = DataController.saveParent(parentData)
let child = DataController.saveChild(ChildData)
parent.setValue(NSSet(object: child), forKey: "childR")
try? parent.managedObjectContext?.save()
在这里我如何从孩子那里获取父母
let context = DataController.getContext()
let fetchRequest: NSFetchRequest<Parent> = Parent.fetchRequest()
let predicate = NSPredicate(format: "parentR == %@", child!)
fetchRequest.predicate = predicate
print(try! context.fetch(fetchRequest))
解决方案
添加反向关系:
实体
Parent
:对多关系:
children
,目的地:Child
,逆:parent
NSManagedObject 子类中的属性:
@NSManaged var children: Set<Child>
实体
Child
:到一个关系:
parent
,目的地:Parent
,逆:children
NSManagedObject 子类中的属性:
@NSManaged var parent: Parent
推荐阅读
- spring - Spring Batch SkippListener不打印日志
- java - 运行实际主窗口 java Intellij Shortcut
- mongodb - 如果mongodb中的字段不同,如何仅更新字段,以便不调用watch()
- android - 如何让 Visual Studio 调试 Android 应用程序?
- javascript - Material UI DatePicker 在 React Js 中不显示更新时间
- python - python中的高斯拟合失败
- python - 在 Python 中使用字典执行对象
- r - 如何根据值扩展列(年)
- r - 使用 dbxConnect 的 R postgres 连接错误
- python - 使用 numpy 操作创建变量数组