繁体   English   中英

核心数据一对一关系更新

[英]Core data one-to-one relationship updates

我有一个ItemColor类。 从服务器获取所有对象。 我有一个要求获取所有项目和所有颜色的请求。 每个项目都有一个Colorid

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在数据库中同步这两个列表的最佳方法是什么?

  1. 我可以使用一对一关系,但是我不能简单地删除所有Colors并保存从服务器接收到的所有Colors ,因为Core Data使用自己的ID。 可能我应该找到所有颜色并进行更新,并删除所有不存在的颜色。

  2. 我可以使用fetched properties

  3. 我可以保存在db color_id ,并手动搜索Color

您应该始终保持双向关系,因为这有助于Core Data正确管理自身。 然后,您需要对要导入的新数据运行获取请求,以决定是否需要更新或创建。 您可以根据要导入的数据大小,创建现有颜色ID到托管对象ID的映射,这样就无需进行大量提取,这使得导入更加高效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM