删除旧对象,添加具有相同主键的新对象会导致问题吗?

时间:2016-11-25 14:04:52

标签: ios objective-c realm

我想知道是否有人遇到像我这样的问题。我目前正在编写一种方法来解析我需要在Realm db中保留的一系列信息。

RLMRealm *defaultRealm = [RLMRealm defaultRealm];
[defaultRealm beginWriteTransaction];
[defaultRealm deleteObject:myOldObjectWithPrimaryKey1];
[defaultRealm commitWriteTransaction];

...do some work....

[defaultRealm beginWriteTransaction];
[defaultRealm addOrUpdateObject:myNewObjectWithPrimaryKey1];
[defaultRealm commitWriteTransaction];

这在Realm中是否合法?我注意到我的值没有正确更新/存储。

谢谢!

1 个答案:

答案 0 :(得分:0)

问题并不在于拥有相同的主键值。当我调用writeCopyToPath来压缩数据库大小时,这个问题再次出现,搞砸了,导致数据库恢复到旧状态,因此数据丢失了。