【发布时间】:2018-03-22 18:35:09
【问题描述】:
我正在更新一个 Realm 对象数组:
for offer in offers {
if(offer.isReward == isReward){
offer.isSeen = true
}
}
但它抛出了一个错误:
Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.
我知道我可以这样做:
for offer in offers {
if(offer.isReward == isReward){
try! offer.realm?.write {
offer.isSeen = true
}
}
}
在我对数组中的所有元素进行更改并提交整个数组之前,我是否可以推迟对 Realm 的写入?为每个需要更改的对象设置一个写事务似乎效率低下。
我最初的计划是修改物品并批量更新
try realm.write {
realm.add(offers, update: true)
}
【问题讨论】: