我们正在将项目转换为使用领域.到目前为止,我们真的印象深刻,特别是领域浏览器(太方便了!)
因此,出现了几个问题,在进一步讨论之前,我们想了解一些具体的使用模式.我们的应用程序是高度多线程的(API调用、动画等),所以在阅读问题时请记住这一点,因为我知道领域实例(目前)不能跨线程访问.
- 对于重复创建领域实例,我们应该有多担心?开销是多少?
- 我们应该费心在ViewController或Singleton中保留领域实例 重复使用吗?我们try 过这种方法,但有时实例是从不同的线程访问的,所以每次都必须恢复到创建一个新实例.
- 访问领域实例上的关系属性时,为 读取的结果数据保留在内存中,还是从中读取 每次都是磁盘吗?我们是否需要担心保留的领域实例 因为深层次的关系接触而变得太大?
何时需要刷新域实例?我注意到当- 在
Object
上访问realm
属性是不是一种糟糕的做法?如果使用对象的函数没有创建对象或领域(当然是在同一线程上),我们就用它来写入域.
例如...
func saveStuff(thingToUpdate: Object?) {
if let thingToUpdate = thingToUpdate, let realm = thingToUpdate.realm {
realm.write {
thingToUpdate.name = "lionpants"
}
}
}
提前谢谢.我期待你的回答D