У меня возникают проблемы во время миграции Realm. В сообщениях об ошибках говорится, что свойство не существует, но мой новый объект выглядит так:
class RecipeStep: Object {
@objc dynamic var recipeId: Int = 0
let stepNumber = RealmOptional<Int>()
@objc dynamic var stepText: String? = nil
}
А вот как выглядит старая схема объекта:
class RecipeStep: Object {
let recipeId = RealmOptional<Int>()
let stepNumber = RealmOptional<Int>()
@objc dynamic var stepText: String? = nil
}
Как видите, единственное изменение - это тип recipeId: преобразование RealmOptional в Int. А вот блок миграции, который я использую для этого:
migration.enumerateObjects(ofType: RecipeStep.className()) { oldObject, newObject in
if let recipeStepRecipeId = oldObject?["recipeId"] as? Int {
newObject?["recipeId"] = recipeStepRecipeId
}
}
Что я делаю неправильно?