gpt4 book ai didi

swift - 由于主键冲突,将对象从一个 Realm 复制到另一个 Realm 失败

转载 作者:行者123 更新时间:2023-11-30 12:19:24 24 4
gpt4 key购买 nike

我想将一个对象从一个 Realm 复制到另一个 Realm ,但它提示已经有一个具有该主键的对象。

详细信息:

我的应用程序中有两个不同的 Realm 。一个存储在 Caches 文件夹中,另一个默认存储在 Documents 文件夹中。它们具有相同的架构。我想将一个对象从一个 Realm 复制到另一个 Realm 。按照文档中的指南,我使用 Realm().create(_:value:update:) 来制作副本。当我从 ContentRealm 传递要在 UserRealm 中创建的故事时,我收到一个异常,指出具有主键的对象已存在。但是,UserRealm 中尚不存在 Story 类型的实例,因此不应存在主键冲突。 由于未捕获的异常“RLMException”而终止应用程序,原因:“尝试使用现有主键值“4”创建类型为“Story”的对象。”

我这样做错了吗?

    // Copy the Story to the user database
var userStory: Story?
do {
try userRealm.write {
userStory = userRealm.create(Story.self, value:storyObjectFromContentRealm)
}
}
catch {
print("Could not copy story: \(error)")
}

最佳答案

事实证明,我的对象图中隐藏着一个循环关系。 Realm 的文档警告了我这一点,我以为我没问题,但事实证明我没有。修改关系后,我能够成功地将对象从一个 Realm 复制到另一个 Realm 。

如果您遇到此问题,请检查您的人际关系。

关于swift - 由于主键冲突,将对象从一个 Realm 复制到另一个 Realm 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44982640/

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