只是想了解一下,当我们尝试使用内存中的领域实例访问对象时,它是在那时复制磁盘持久化的领域数据还是将成为对象中没有数据的干净领域实例。
我确实知道两个领域实例都指向相同的对象架构,但仍然感到困惑。
我在项目中同时具有磁盘持久性和内存领域。
当我尝试查询磁盘持久化领域时,如果存在则返回数据对象,而另一方面,如果我在内存中领域中执行相同的查询,它将始终返回0
个对象。
任何帮助将不胜感激。
答案 0 :(得分:1)
内存中的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