Realm 多个数据库存储同一 object 的问题

2016-09-12 11:41:49 +08:00
 coa
RT ,尝试把已有 realm 文件中的对象存进一个新的 realm 文件,出现“ Object is already managed by another Realm ”错误,官方文档好像没有相关的描述,有没有其他迂回的方法?
2038 次点击
所在节点    iDev
9 条回复
xi_lin
2016-09-12 12:34:34 +08:00
先 detach 吧
iYu
2016-09-12 13:04:48 +08:00
realm 相当于上下文。 so 你要根据不同的 realm 建立不同的 object
coa
2016-09-12 15:13:33 +08:00
@xi_lin Objective C 的好像没相关 api ?

@iYu 暂时只能用源 object 初始化一个新的进行保存了。。
Totato5749
2016-09-12 15:24:22 +08:00
好像 realm 对象只能申请一个,单例模式
xi_lin
2016-09-12 22:43:00 +08:00
@coa 我是用 RLMObject 的 initWithValue 方法来做的
iYu
2016-09-13 15:12:37 +08:00
@xi_lin 我昨天翻 issues 也看到了 没实验。如果有关联关系会怎么样。比如。想 copy a 。 但是 a->b 。这个时候 copy 的 a 有没有 b
coa
2016-09-13 17:52:44 +08:00
@xi_lin 0.0 用的就是 initWithValue ,不过这看起来不是创建了新的对象么。。。

@iYu 实测可以, initWithValue 的参数要求应该是可被序列化,每一层属性值都会被依次填充。。
xi_lin
2016-09-13 19:08:14 +08:00
@coa 因为没有 detach 只能 new 一个出来当做 detach 了。。
xi_lin
2016-09-13 19:08:31 +08:00
@iYu 如楼主实验,是可以的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305616

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX