RLMException',原因:'尝试在写事务之外修改对象

2024-02-01

当我编译以下代码时遇到以下错误:

*** 由于未捕获的异常“RLMException”而终止应用程序,原因:“尝试在写入事务之外修改对象 - 调用” 首先在 RLMRealm 实例上开始WriteTransaction。'

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)
        }
    }
}

你需要做所有的事情realm.write只需按如下方式更新您的代码即可。

看这个:https://realm.io/docs/swift/latest/#writes 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)
            }
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RLMException',原因:'尝试在写事务之外修改对象 的相关文章

随机推荐