1

根据领域模型描述我有

领域数据模型是使用带有 @properties 的传统 NSObject 样式类定义的。只需子类化 RLMObject 即可创建您的 Realm 数据模型对象。除了可以将它们添加到 Realm 以实现线程之间的持久性和共享之外,Realm 模型对象的功能与任何其他 Objective-C 对象一样 - 您可以向它们添加自己的方法和协议,并像使用任何其他对象一样使用它们. 唯一的限制是对象只能在创建它们的线程上使用。

谁能帮忙解释一下唯一的限制是对象只能在创建它们的线程上使用。

如果我在后台线程中创建 RLMObject 的实例,我可以将它用作主线程中的普通对象吗?当说普通对象时,我的意思是访问或更改其属性,使用它的方法......

提前致谢。

4

1 回答 1

0

您可以为同一数据点创建两个单独的 RLMObject 实例,但不能跨线程共享一个 RLMObject 实例。在您的情况下,如果您在后台线程上创建 RLMObject 的实例,您需要做的是在主线程上的单独 RLMObject 实例中再次(通过查询)获取相同的数据。(我们正在添加主键以使这更容易。我们也在考虑添加一种跨线程共享实例的方法,但这会带来持续的性能损失。)

于 2014-08-21T16:16:43.820 回答