gpt4 book ai didi

ios - Realm 未在 Swift 中调用

转载 作者:行者123 更新时间:2023-11-30 11:23:36 24 4
gpt4 key购买 nike

我有一个使用以下代码的realmService 单例。然而,当我请求它时,它并没有被 homeController 调用。

var realmService = RealmService.shared.realm

class RealmService {

static let shared = RealmService()

lazy var realm: Realm = {
let realm = try! Realm(configuration: config)
print("Realm set up")
return realm
}()

lazy private var realmURL: URL = {
let appDir = try FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let url = appDir.appendingPathComponent("TEST.realm")
return url
}()

lazy private var config: Realm.Configuration = {
return Realm.Configuration(
fileURL: self.realmURL,
inMemoryIdentifier: nil,
syncConfiguration: nil,
encryptionKey: nil,
readOnly: false,
schemaVersion: 1,
migrationBlock: nil,
deleteRealmIfMigrationNeeded: false,
objectTypes: nil
)
}()
}

当模型调用此方法时,我没有得到打印语句,例如:

    print("Calling realm service")
if let profile = realmService.objects(Profile.self).filter(predicate).last {}

不确定是否缺少某些内容?

谢谢!

编辑:删除了外部方法和扩展调用以简化问题。

最佳答案

问题是您将 objectTypes 设置为 nil,因此没有模型类添加到您的 Realm 中。您应该简单地保留该输入参数,这将导致使用默认值,因此项目中声明的所有 Object 子类都将添加到您的配置中。

实际上,您不应该将 nil 传递给任何您不想为其分配特定值的输入参数,您应该忽略这些输入参数并让它们接受它们的值默认值。

return Realm.Configuration(
fileURL: self.realmURL,
readOnly: false,
schemaVersion: 1,
deleteRealmIfMigrationNeeded: false
)

关于ios - Realm 未在 Swift 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51004021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com