Realm数据库Swift 3.1 – Singleton的devise模式

我正在使用RealmSwift ,它是Swift中CoreData / SQLite的现代数据库替代品。

我想知道如何实现一个可以pipe理/处理RealmSwift Framework的所有查询的Class的devise

这个问题有点类似于实现SQLite模型pipe理器,但是RealmSwift。

具体来说,我不需要上面提到的单例对象/实例。

Realm拥有一个相当聪明的内部caching系统,在这个系统中, Realm以前的实例被保存,并且每次像let realm = try! Realm()这样的调用被回收let realm = try! Realm() let realm = try! Realm()发生。 因此,这不是真的有必要,也不build议尝试将Realm实例本身合并到单例中。

如果要大量定制Realm实例的设置,通常会通过一个静态且线程安全的Realm Configuration对象来实现。 如果是这样的话,那么当你需要创build一个新的Realm实例时,有一个单例(甚至只是一个静态类方法)会返回相应的Configuration对象会更合适。

在Swift 中的东西有一个关于如何在Swift中创build单例的页面,它基本上是一个类实现的单个静态属性:

 class SomeManager { static let sharedInstance = SomeManager() } 

使用一个枚举与一个案例:

 enum Singleton: Protocols { case instance /// methods } 

用于:

 Singleton.instance.method(args)