При условии, что версия схемы 1 меньше последней установленной версии 2 для realm

Я использую Realm как мобильную базу данных в своем работающем приложении. Я загрузил приложение в App Store. Но после загрузки следующей версии мне пришлось изменить некоторую модель данных Realm Class. Для этого я использую миграцию.

let config = Realm.Configuration(

            schemaVersion: 2,
            let config = Realm.Configuration(
                if (oldSchemaVersion < 2) {
                    migration.enumerateObjects(ofType: CarRealm.className(), { (oldObject, newObject) in

                    })
                    migration.enumerateObjects(ofType: CarService.className(), { (oldObject, newObject) in

                    })
                }
             })

        Realm.Configuration.defaultConfiguration = config

        do {
            _ = try Realm()
        } catch _ as NSError {
            // print error
        } 
}

Но проблема в том, что у пользователя, который использует предыдущую версию этого приложения (скачать из App Store), происходит сбой приложения. При отладке обнаружил ошибку для версии. При условии, что версия схемы 1 меньше последней установленной версии 2.

Эта ошибка возникает при попытке доступа к базе данных области таким образом

if MoreUses.sharedInstance().realm.objects(HyperWare.self).count != 0{
}

Каково решение ?

посмотрите это решение stackoverflow.com/questions/34781895/…

a.masri 11.04.2018 14:12

это исключение, потому что, похоже, у вас есть доступ к области в вашем коде до конфигурации

a.masri 11.04.2018 14:15
0
2
1 250
0

Другие вопросы по теме