После прочтения this учебник Мне нужна помощь в понимании наиболее эффективного способа сделать следующее.iOS (Swift) Объект Singleton Realm Объект
Когда мое приложение открыто, ему необходимо загрузить объект Profile
. Поскольку в жизни приложения должно быть только одно из них, я устанавливаю его как одноэлементный.
Realm, казалось, отличный способ сохранить и получить данные. При дальнейшем просмотре кажется, что мне нужно иметь модель данных, чтобы использовать Realms. После неудачной попытки интегрировать Object
в Profile.swift, показанный ниже, мне нужна некоторая помощь в том, как я должен справиться с этой проблемой. Должен ли я сделать второй класс ProfileDataModel
, который может быть вызван Profile
для извлечения и сохранения изменений или есть способ включить Realm Object
в класс Singleton?
Profile.swift
class Profile {
//MARK: Singleton
static let sharedInstance = Profile()
//MARK: Properties
var characterName: String
var level: Int
//MARK: Init
private init() {
//TODO: Load from realms
self.characterName = "John Appleseed"
self.level = 50
}
//MARK: Helper Methods
static func save(){
//TODO: Save to Realm
}
}
То, что я использую, чтобы это сделать. При использовании в небольших приложениях это хороший способ отслеживать код, доступ к Царству. Также вы можете легко обменивать базовую базу данных, например, Основные данные, если необходимо (надеюсь, нет) – brainray
@brainray, как вы это делаете сейчас или в больших приложениях? – sirvon
@sirvon, этот подход работает отлично уже. или в больших проектах, если это не подходит для использования, вы можете напрямую использовать блоки записи, где вы обрабатываете запросы. , когда данные извлекаются, непосредственно записывают их в Realm с блоком записи и для обновления пользовательского интерфейса в каждом VC добавляют соответствующее уведомление для объектов realm для его обновления. https://realm.io/docs/swift/latest/#notifications –