Вылетает ошибка Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=10 "Migration is required due to the following errors:

realm
swift
xcode

#1

Добавил новую переменную в модель,инициализировал, хочу чтобы появилась новая строка в базе,но выдает ошибку при запуске приложения
Thread 1: Fatal error: ‘try!’ expression unexpectedly raised an error: Error Domain=io.realm Code=10 "Migration is required due to the following errors:
Что делать?


#2

Версию базы увеличьте на 1.
Либо сделайте при конфигурировании реалма .deleteRealmIfMigrationNeeded()


#3

а где увеличивается версия базы?


#4
var config = Realm.Configuration(
    schemaVersion: 1,
    migrationBlock: { migration, oldSchemaVersion in
        if (oldSchemaVersion < 1) {}
})
config.deleteRealmIfMigrationNeeded = true

Realm.Configuration.defaultConfiguration = config

_ = try! Realm()

#5

а что если прямо в этом коде ошибка вылезает??


#6

где именно? можете показать скрин


#7


теперь ошибка появилась здесь, хотя я просто ,удалил, запустил и снова вставил тот код,приложение не открывается, что не так?


#8

во-первых, код из viewDidLoad должен быть в AppDelegate
во-вторых, ваше свойство places = NIL, проверяйте что не так у вас, где вы делаете присвоение, либо от куда достаете данные туда


#9

а что с такой ошибкой делать?


#10

Вы не правильно используете реалм. Посмотрите документацию. Либо какие-то приложения примеры.


#11

все работало идеально,спустя 2 недели сел за мак и такие ошибки начинают вылазить


#12

Скажите, а у вас не возникает желания, пусть и с переводчиком, но разобраться с документацией рилм на основном сайте?


#13

а что там именно прочитать ,вроде в синтаксисе ошибок нет


#14

Я про то, что две недели назад все работало и после перестало. Чудес не бывает. Документация позволит определить ошибку, что была внесена после.

Это помогает понять, что и как работает, чтобы можно было начать понимать, что не так.

Представьте, что вам достался чужой код без всякой документации и вы должны работать с ним, нужно начинать понимать написанное


#15

let realm = try! Realm()

Это нужно внутри класса объявлять, а не за его пределами. Я потому и написал про документацию, там указано правильное объявление.