当我编译以下代码时遇到以下错误:
*** 由于未捕获的异常“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(使用前将#替换为@)