我对Realm的写事务感到困惑。我必须在写事务中对对象进行所有修改吗?或者我可以只做一些修改,然后把所有内容都写到磁盘上吗?
(免责声明:我为Realm工作)
那是正确的!一旦对象被添加到Realm()
对象中,就只能在之后的写事务中修改它。
这样做是为了确保线程安全。当一个Realm()
上有一个写事务打开时,它会阻止所有其他线程同时尝试打开写事务(让它们等待直到事务关闭)。
这可能看起来有点过分,我们当然在寻找一些方法来尝试使它更精简,但是现在,我们认为这种实现模式提供了最安全的方式来确保您的数据被正确地保存到磁盘。