Realm存储数据时是否需要显式添加关联的嵌套Object对象?
第一种写法(仅调用realm.add(person))已经完全满足需求,不需要额外显式添加嵌套的dog对象。
原因说明
Realm 的add(_:)方法默认支持递归写入逻辑:当你把一个还没存入Realm的Person实例写入数据库时,Realm会自动扫描它所有的关联属性,只要关联的对象(这里就是你创建的dog实例)也还没有被持久化,就会自动把这些关联对象一起写入,完全不用你手动逐个添加。
需单独写入关联对象的特殊场景
只有两种情况需要你手动单独添加嵌套的关联对象:
- 你需要在把
dog关联到person之前,先单独对dog做查询、修改操作 Animal类设置了主键,你需要自定义更新策略覆盖数据库中已有的旧数据,这种场景默认的递归写入逻辑依然生效,你也可以选择提前单独写入dog做自定义处理
内容的提问来源于stack exchange,提问作者ImShrey
相关产品推荐
相关产品推荐

