我使用Realm来存储我的模型对象。在我的对象中,我有一个函数,可以从其自身的属性值生成NSData。这个过程可能会很长,因此我想在一个带有处理程序块的线程中生成我的NSData。
我的问题是,Realm数据访问只能在Realm创建实体(实际上是主线程)上进行。因此,当我在一个线程中访问我的RealmObject属性时,应用程序会崩溃。根据Realm规格,这是正常的。但是,如何在受限于Realm的情况下使我的NSData生成在一个线程中?
目前我有两个想法:
- 创建一个特定于Realm的调度队列,并使所有Realm访问都在这个队列中写入。 - 在一个临时结构体(或一组变量)中获取所有需要的属性,并使用这个结构体/变量来在一个线程中生成我的NSData。
我假设很多Realm用户需要处理线程和Realm,那么你在这种情况下怎么做呢?
我的问题是,Realm数据访问只能在Realm创建实体(实际上是主线程)上进行。因此,当我在一个线程中访问我的RealmObject属性时,应用程序会崩溃。根据Realm规格,这是正常的。但是,如何在受限于Realm的情况下使我的NSData生成在一个线程中?
目前我有两个想法:
- 创建一个特定于Realm的调度队列,并使所有Realm访问都在这个队列中写入。 - 在一个临时结构体(或一组变量)中获取所有需要的属性,并使用这个结构体/变量来在一个线程中生成我的NSData。
我假设很多Realm用户需要处理线程和Realm,那么你在这种情况下怎么做呢?