Realm 的写事务

Realm's write transactions

我对 Realm 的写入事务感到困惑。我必须在写入事务中对对象进行所有修改,还是可以只进行一些修改,然后再将所有内容写入磁盘?

第一个选项似乎有点过分而且乏味。

(免责声明:我为 Realm 工作)

没错!一旦一个对象被添加到 Realm() 对象中,它只能在之后的写事务中被修改。

这样做是为了确保线程安全。当 Realm() 在其上打开一个写事务时,它会阻止所有其他线程同时尝试打开一个写事务(使它们等待直到事务关闭)。

这看起来确实有点矫枉过正,我们当然正在寻找方法来尝试使其更加精简,但就目前而言,我们认为这种实施模式提供了确保您的数据正确无误的最安全方式已保存到磁盘。