如何在Realm(iOS)中同步进行写操作?

Jas*_*ach 2 realm ios

作为两步分析过程的一部分,我需要在第二步开始之前将数据写入持久存储.如果我通过fina grain通知异步执行此操作,它有点乱.在一个函数中进行内联会很棒.

是否有可能使Realm().write {} opperations同步?第二步需要读回这些数据.

bda*_*ash 5

Realm.write(_:) 同步的.

  • 告诉它与文档同步的一种方法是`@noescape`属性.必须在函数内使用具有该属性的闭包参数,并且不能转义调用本身的生命周期.请参阅Swift文档中的[Nonescaping Closures](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#//apple_ref/doc/uid/TP40014097-CH11-ID546)欲获得更多信息. (2认同)
  • 它*不*同步。至少有效。如果您写入一个值,然后使用realm.objects() 从另一个线程查询该对象,则该值不会始终更新。 (2认同)
  • 该方法是否是同步的是与结果对其他线程可见的时间正交.只有在其Realm刷新以查看更新版本的数据(在主线程上的下一个runloop迭代,或者由于在后台线程上显式调用`refresh()`)之后,其他线程才会看到更改. (2认同)