In-Memory Realm 在 Swift 中是否有磁盘持久化 Realm 数据的副本?

Vik*_*imi 4 realm ios swift realm-mobile-platform

只是想了解一下,当我们尝试使用内存中的领域实例访问对象时,它是在那个时刻复制了磁盘持久化领域数据,还是会是一个干净的领域实例,对象中没有数据。

我知道这两个领域实例都指向相同的对象模式,但仍然感到困惑。

我的项目中有磁盘持久性和内存领域

当我尝试查询磁盘持久化领域时,如果存在,则返回数据对象,而另一方面,如果我在内存领域执行相同的查询,则它始终返回0对象。

任何帮助,将不胜感激。

flo*_*ger 5

内存中的 Realm 将是一个干净的 Realm 实例。它不会干扰任何其他领域(磁盘上或其他领域)。一旦您的应用程序终止,所有条目都将消失。

您甚至可以同时运行多个内存领域,例如为每个单元测试类拥有一个干净的数据库。只要确保您inMemoryIdentifier为每个测试使用不同的。

var config = Realm.Configuration()
config.inMemoryIdentifier = self.name // use the test class name as identifier

let realm = try Realm(configuration: config)
return realm
Run Code Online (Sandbox Code Playgroud)