Я добавил следующие два свойства в свой RLMObject, и я не могу заставить его обновить, следуя документам. Вот мои свойства:Невозможно перейти на новую схему с обновленными свойствами из-за того, что блок RLMRealm.setSchemaVersion не попал
dynamic var firstName = ""
dynamic var lastName = ""
Вот моя миграция логика (в моем AppDelegate
, содержащемся в didFinishLaunchingWithOptions
, который, как я понимаю, должен добавить эти свойства в файл царств:
RLMRealm.setSchemaVersion(1, forRealmAtPath: RLMRealm.defaultRealmPath(), withMigrationBlock: { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
}
})
и за исключение того, отбрасывается:
'RLMException', reason: 'Migration is required for object type 'FilteredAccount' due to the following errors:
- Property 'firstName' has been added to latest object model.
- Property 'lastName' has been added to latest object model.'
Когда я устанавливаю точки останова в этом блоке, они не попали Мои сбои приложений в верхней части AppDelegate и никогда е. xecutes код миграции. Когда я удаляю эти свойства, приложение открывается просто отлично. Он также исправляется, если я удаляю всю область, но, очевидно, это неэффективно делать каждый раз, когда я меняю модель данных.
Любая помощь будет принята с благодарностью. Спасибо!
Я не установить мое царство в 'didFinishLaunchingWithOptions', который я уверен, что мой вопрос. Я использую 'defaultRealm' для всех своих вызовов в области, поэтому у меня нет никакого кода настройки, кроме добавления объектов и их соответствующих свойств в' defaultRealm'. Есть ли какой-то установочный код, который я должен помещать туда, хотя я не использую другое царство? – mattchue
Кроме того, в разделе 'didFinishLaunchingWithOptions' размещен только соответствующий код в царстве. Единственный другой материал в нем - некоторый код установки окна. – mattchue
Спасибо! Приятно видеть, что вы и ваша команда отвечаете на вопросы, очень круто. – mattchue