Я не знаю, если я что-то пропустил здесь.
У меня произошел сбой после запуска приложения без блока миграции после обновления свойства (та же проблема, что и здесь Миграция области не работает)
Но теперь, когда я запускаю приложение, оно должно выполнить миграцию, потому что оно больше не падает, но свойства моего объекта не обновляются.
Я обновил приведенный ниже объект ("minReps" - это тот, который я добавил):
class ExerciseGeneratorObject: Object {
@objc dynamic var name = ""
@objc dynamic var minReps = 0
@objc dynamic var maxReps = 0
convenience init(name: String, minReps: Int, maxReps: Int) {
self.init()
self.name = name
self.minReps = minReps
self.maxReps = maxReps
}
Затем я запускаю пустой блок миграции, подобный этому, в appDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let config = Realm.Configuration(
schemaVersion: 3,
migrationBlock: { migration, oldSchemaVersion in
if (oldSchemaVersion < 3) {
}
})
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
Я думал, что Realm предназначен для автоматического обновления свойств объекта, если вы запускаете пустой блок миграции — это неправильно? Мне не хватает кода, чтобы это работало?
Здесь есть очень похожая проблема (Миграции областей в Swift) (это не я!) но сейчас выглядит устаревшим (и, конечно, я пробовал решения, как указано выше!)