gpt4 book ai didi

ios - 具有独特约束和关系的核心数据-IOS

转载 作者:行者123 更新时间:2023-11-29 00:38:20 24 4
gpt4 key购买 nike

我有一个核心数据设计,其中包含多个使用关系的表。我的数据库是 SQLite。对于更新,我从 JSON 导入数据并使用此方法:

[NSEntityDescription insertNewObjectForEntityForName:entityName inManagedObjectContext:context]. 

我在核心数据中添加了唯一约束。如果我更新一个与另一个对象有关系的实体,它就会失去连接。

例如:包含与“pet_id”一对一关系的实体“person”。如果我更新“pet”,它会改变他的 id,而“person”仍然指向旧的 id,所以它们不再相关。有没有办法避免这个问题?

最佳答案

我认为这还没有在任何地方记录下来。这听起来像是正在发生的事情:

  • 您创建了一个新实例。您的约束意味着该实例与现有实例匹配。但是...
  • 您的新实例的此关系的值为 nil。所以...
  • 现有实例的关系值将替换为新的 nil 值。

为了维持这种关系,您的新实例需要已经具有该关系的正确值。您本质上是要求约束匹配系统忽略新实例中关系值不同的事实,但接受其他属性的新值。

我认为您的期望是完全合理,但我对当前的实现不支持它也不感到惊讶。我建议向 Apple 提交有关此问题的错误,并研究基于非约束的方法来保持数据的唯一性。

关于ios - 具有独特约束和关系的核心数据-IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40109459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com