对于线程之间共享的对象(通过持久性和查询),在一个线程中进行的对被忽略属性的更改在另一个线程中是否可见?
要在线程之间共享对象或在应用程序启动之间重用它们,您必须将它们持久化到Realm…对您所做的所有更改都将持久化(并且必须在写事务中进行)。提交写事务后,任何更改都可用于使用同一Realm的其他线程。
http://realm.io/docs/cocoa/0.91.1/#writes
它看起来像这样并不适用于忽略的属性。对象的每个线程实例都有其自己的被忽略属性副本,并且一个线程中的更改不会影响任何其他线程。那正确吗?
正确的。当您RLMObject
通过重新查询从另一个线程访问它时,它将是该对象的新实例,因此忽略的属性将不会随该对象一起携带。
话虽如此,只要您不尝试访问任何由Realm支持的属性(否则RLMException
将触发a),就可以将一个RLMObject
实例从一个线程传递到另一个线程,并且仍然可以在新线程上继续访问其被忽略的属性。线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句