0

私はRealmSwiftに取り組んでいます。これは、Swift の CoreData/SQLite に代わる最新のデータベースです。

RealmSwift FrameworkClassのすべてのクエリを管理/処理できる設計を実装する方法を考えています。

この質問は、SQLite Model Manager の実装と似ていますが、RealmSwift の場合です。

具体的には、上記のシングルトン オブジェクト/インスタンスの言及は必要ありません。

4

2 に答える 2

7

Realm にはかなり巧妙な内部キャッシュ システムがありRealm、 like の呼び出しが発生するたびに の以前のインスタンスが保持され、再利用されlet realm = try! Realm()ます。Realmそのため、インスタンス自体をシングルトンに組み込む必要はなく、推奨もされていません。

インスタンスの設定を大幅にカスタマイズする場合は、通常、静的でスレッドセーフなRealmRealm オブジェクトを使用して行います。その場合は、新しいインスタンスを作成する必要があるときにConfiguration適切なオブジェクトを返すシングルトン (または単に静的クラス メソッド) を使用する方が適切です。ConfigurationRealm

Swift のそのことには、Swift でシングルトンを作成する方法に関するページがあり、それは本質的にクラス実装の単一の静的プロパティにすぎません。

class SomeManager {
    static let sharedInstance = SomeManager()
}
于 2016-03-22T04:19:15.070 に答える