繁体   English   中英

如何在 Swift 中初始化 Realm 配置?

[英]How can I initialize a Realm configuration in Swift?

在 Kotlin 中,我将以下内容放在 MainApplication.kt 类中。

Realm.init(this);
val realmConfig: RealmConfiguration = RealmConfiguration.Builder()
    .name("app.realm")
    .schemaVersion(0)
    .build()
Realm.setDefaultConfiguration(realmConfig)

之后,我可以使用以下代码获取默认 Realm 的实例:

val realm: Realm? = Realm.getDefaultInstance()

Swift 中的等效代码是什么? 我应该把它放在哪里,以便可以从我的应用程序中的任何地方访问该实例? 我应该把它放在 AppDelegate.swift 中吗?

我所知道的是,在读取和写入我的 Realm 时,我应该使用以下代码,但是首先我需要编写什么来配置数据库? 我以后如何获取该默认配置?

let realm = try? Realm()  

当您在 Swift 中初始化一个 Realm 时,您本身并不是在创建一个新的数据库,而是在创建一个可以容纳一个或多个 Realm 的容器,或者引用 try! 创建的默认 Realm! 领域()。 所以,如果你想在你的应用程序中访问同一个 Realm,就像在每个类中重新初始化它一样简单(听起来很奇怪),或者,如果你正在配置你的领域,在每次初始化时向它传递相同的配置属性.

我不了解 Kotlin,但据我所知,您正在尝试将配置详细信息传递给新的 Realm 实例。 要在 swift 中做到这一点,首先创建您的配置对象,然后使用它来初始化 Realm 本身(将它放入 didFinishLaunchingWithOptions 中的 App Delegate,然后确保在其他类中使用相同的配置):

let config = Realm.Configuration(
fileURL: <URL?>, //i think this is the "name" property equivalent
schemaVersion: <UInt64>,
)

然后,当您初始化 Realm 实例时:

let realm = try! Realm(configuration: config)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM