有时,我需要将领域数据库从iOS传输到watchOS。我是这样做的:
watchOS部件:
-
发送请求消息
-
接收文件
-
删除磁盘上的当前领域文件
-
将新收到的文件移动到以前删除的文件的url
我试图使数据库无效并再次获取该领域。通过
self.realm.invalidate()
self.realm = try! Realm(configuration: Realm.sharedConfiguration)
// get all realm objects I need. those realm objects are class properties
然后获取所有领域对象。它不起作用。
然后我尝试使数据库无效,并将领域设置为另一个领域,然后通过
self.realm.invalidate()
self.realm = try! Realm()
self.realm = try! Realm(configuration: Realm.sharedConfiguration)
然后获取所有领域对象。它也不起作用。
最终的工作是将领域设置为另一个领域,并获取所有对象,然后将其设置回原处,并再次获取所有对象,方法是
self.realm.invalidate()
self.realm = try! Realm()
// get all realm objects I need
self.realm = try! Realm(configuration: Realm.sharedConfiguration)
// get all realm objects I need
现在可以了。然而,如果有人告诉我有更好的方法,我会非常高兴。