我正在使用RealmSwift,它是Swift中CoreData / SQLite的现代数据库替代品。
我想知道如何为可以管理/处理RealmSwift Framework的所有查询的Class
实施设计
这个问题有点类似于实现SQLite Model Manager但是对于RealmSwift。
具体来说,我不需要上面提到的单例对象/实例。
答案 0 :(得分:7)
Realm有一个相当聪明的内部缓存系统,每当Realm
之类的调用发生时,let realm = try! Realm()
的先前实例就会被保留并回收。因此,它并不是真正必要的,也不建议尝试将Realm
实例本身合并到一个单例中。
如果您想大量自定义Realm
实例的设置,通常会通过Realm Configuration
对象执行此操作,该对象是静态且线程安全的。如果是这种情况,那么当您需要创建新的Configuration
实例时,拥有一个返回适当Realm
对象的单例(或者甚至只是一个静态类方法)会更合适
that thing in swift有一个关于如何在Swift中创建单例的页面,它本质上只是类实现的一个静态属性:
class SomeManager {
static let sharedInstance = SomeManager()
}
答案 1 :(得分:1)
使用包含一个案例的枚举:
enum Singleton: Protocols {
case instance
/// methods
}
用过:
Singleton.instance.method(args)