RLMException ', причина:' Попытка изменить объект вне транзакции записи - PullRequest
0 голосов
/ 01 мая 2018

Я обнаружил следующую ошибку, когда выполнил следующий код:

*** Завершение работы приложения из-за необработанного исключения «RLMException», причина: «Попытка изменить объект вне транзакции записи - вызов Сначала beginWriteTransaction для экземпляра RLMRealm. '

for outlet in brand.outlets! {
    let outl = OutletListRealm()
    outl.outletId = outlet.id
    outl.outletName = outlet.name!
    outl.brand = brand.id
    try! self.realm.write {
        self.realm.add(outl)
    }

    for override in outlet.override! {
        let overRide = OverRideObjectRealm()
        overRide.id = override.id
        overRide.name = override.name!
        overRide.brand = brand.name!
        overRide.outlet = outlet.name!
        outl.brand = brand.id
        try! self.realm.write {
            self.realm.add(overRide)
        }
    }
}

1 Ответ

0 голосов
/ 01 мая 2018

Вам нужно все сделать за realm.write Просто обновите ваш код следующим образом.

См. Это: https://realm.io/docs/swift/latest/#writes

for outlet in brand.outlets! {
        let outl = OutletListRealm()
        try! self.realm.write {
            outl.outletId = outlet.id
            outl.outletName = outlet.name!
            outl.brand = brand.id
            self.realm.add(outl)
        }

        for override in outlet.override! {
            let overRide = OverRideObjectRealm()
            try! self.realm.write {
                overRide.id = override.id
                overRide.name = override.name!
                overRide.brand = brand.name!
                overRide.outlet = outlet.name!
                self.realm.add(overRide)
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...