Swift RLMRealm,删除对象时,如何从RLMArray中的引用中删除该对象
我正在使用RLMRealm开发购物清单应用程序。我有一个Item对象,它表示您可能购买的商品的名称。我还有一份购物清单,里面有很多物品。如果我删除一个项目,是否有一种简单的方法可以从它可能存在的每个数组中删除该项目 我从这个开始:Swift RLMRealm,删除对象时,如何从RLMArray中的引用中删除该对象,swift,realm,Swift,Realm,我正在使用RLMRealm开发购物清单应用程序。我有一个Item对象,它表示您可能购买的商品的名称。我还有一份购物清单,里面有很多物品。如果我删除一个项目,是否有一种简单的方法可以从它可能存在的每个数组中删除该项目 我从这个开始: // Look for this item in shoppingList.list and remove also for shoppingList in ShoppingList.allObjects() { for i in 0..<(shopp
// Look for this item in shoppingList.list and remove also
for shoppingList in ShoppingList.allObjects() {
for i in 0..<(shoppingList as ShoppingList).list.count {
if ((shoppingList as ShoppingList).list[i] as ShoppingItem).item == item {
(shoppingList as ShoppingList).list.removeObjectAtIndex(i)
}
}
}
//在shoppingList.list中查找此项目并将其删除
用于shoppingList.allObjects()中的shoppingList{
对于0中的i..我也遇到了同样的问题。我不确定。是否启动/提交事务?首先,正如romanvbabenko提到的,您需要在写事务中执行类似这样的更改
其次,当您对RLMResults
或RLMArray
进行变异时,您无法安全地对其进行变异——在Realm的未来版本中,这将导致引发异常
最好的方法是:
item.realm.deleteObjects(item.LinkingObject类(ShoppingList.self,forProperty:“list”))