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)