У меня есть синглтон 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 {}
Не уверены, что чего-то не хватает?
Спасибо!
РЕДАКТИРОВАТЬ: Удалены внешние методы и вызовы расширений для упрощения вопроса.