私はRealmSwiftに取り組んでいます。これは、Swift の CoreData/SQLite に代わる最新のデータベースです。
RealmSwift FrameworkClass
のすべてのクエリを管理/処理できる設計を実装する方法を考えています。
この質問は、SQLite Model Manager の実装と似ていますが、RealmSwift の場合です。
具体的には、上記のシングルトン オブジェクト/インスタンスの言及は必要ありません。
私はRealmSwiftに取り組んでいます。これは、Swift の CoreData/SQLite に代わる最新のデータベースです。
RealmSwift FrameworkClass
のすべてのクエリを管理/処理できる設計を実装する方法を考えています。
この質問は、SQLite Model Manager の実装と似ていますが、RealmSwift の場合です。
具体的には、上記のシングルトン オブジェクト/インスタンスの言及は必要ありません。
Realm にはかなり巧妙な内部キャッシュ システムがありRealm
、 like の呼び出しが発生するたびに の以前のインスタンスが保持され、再利用されlet realm = try! Realm()
ます。Realm
そのため、インスタンス自体をシングルトンに組み込む必要はなく、推奨もされていません。
インスタンスの設定を大幅にカスタマイズする場合は、通常、静的でスレッドセーフなRealm
Realm オブジェクトを使用して行います。その場合は、新しいインスタンスを作成する必要があるときにConfiguration
適切なオブジェクトを返すシングルトン (または単に静的クラス メソッド) を使用する方が適切です。Configuration
Realm
Swift のそのことには、Swift でシングルトンを作成する方法に関するページがあり、それは本質的にクラス実装の単一の静的プロパティにすぎません。
class SomeManager {
static let sharedInstance = SomeManager()
}