我正在研究RealmSwift,它是 Swift 中 CoreData/SQLite 的现代数据库替代品。
我想知道如何实现一个Class
可以管理/处理RealmSwift 框架的所有查询的设计
这个问题有点类似于实现 SQLite 模型管理器,但对于 RealmSwift。
具体来说,我不需要上面提到的单例对象/实例。
我正在研究RealmSwift,它是 Swift 中 CoreData/SQLite 的现代数据库替代品。
我想知道如何实现一个Class
可以管理/处理RealmSwift 框架的所有查询的设计
这个问题有点类似于实现 SQLite 模型管理器,但对于 RealmSwift。
具体来说,我不需要上面提到的单例对象/实例。
Realm 有一个相当聪明的内部缓存系统,Realm
每次调用类似的调用let realm = try! Realm()
时,以前的实例都会被保留并回收。因此,这并不是真正必要的,也不建议尝试将Realm
实例本身合并到单例中。
如果您想大量自定义Realm
实例的设置,您通常会通过一个Configuration
静态且线程安全的 Realm 对象来实现。Configuration
如果是这种情况,当您需要创建一个新Realm
实例时,拥有一个返回适当对象的单例(甚至只是一个静态类方法)会更合适。
swift 中的那个东西有一个关于如何在 Swift 中创建单例的页面,它本质上只是一个类实现的单个静态属性:
class SomeManager {
static let sharedInstance = SomeManager()
}
在一种情况下使用枚举:
enum Singleton: Protocols {
case instance
/// methods
}
像这样使用:
Singleton.instance.method(args)