Realm的写交易

cfi*_*her 4 cocoa realm swift swift2

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

第一种选择似乎有点矫枉过正,而且肯定是乏味的.

TiM*_*TiM 5

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

那是对的!将对象添加到Realm()对象后,只能在写入事务中对其进行修改.

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

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