[英]Core data one-to-one relationship updates
我有一个Item
和Color
类。 从服务器获取所有对象。 我有一个要求获取所有项目和所有颜色的请求。 每个项目都有一个Color
的id
。
class Color: NSManagedObject {
@NSManaged var id: Int
@NSManaged var name: String
}
class Item: NSManagedObject {
@NSManaged var id: Int
@NSManaged var name: String
@NSManaged var color: Color
}
使用Core Data在数据库中同步这两个列表的最佳方法是什么?
我可以使用一对一关系,但是我不能简单地删除所有Colors
并保存从服务器接收到的所有Colors
,因为Core Data使用自己的ID。 可能我应该找到所有颜色并进行更新,并删除所有不存在的颜色。
我可以使用fetched properties
我可以保存在db color_id
,并手动搜索Color
您应该始终保持双向关系,因为这有助于Core Data正确管理自身。 然后,您需要对要导入的新数据运行获取请求,以决定是否需要更新或创建。 您可以根据要导入的数据大小,创建现有颜色ID到托管对象ID的映射,这样就无需进行大量提取,这使得导入更加高效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.