2015-01-17 2 views
0

RLMRealm을 사용하는 쇼핑 목록 응용 프로그램에서 작업하고 있습니다. 쇼핑 할 수있는 항목의 이름을 나타내는 Item 객체가 있습니다. 또한 RLMArray 항목을 보유하고있는 ShoppingList도 있습니다. 항목을 제거하면 존재하는 각 배열에서 해당 항목을 쉽게 제거 할 수 있습니까? RLMRealm, 개체를 제거 할 때 RLMArray에서 참조에서 제거하는 방법

나는이 시작 : 어느 작동하지

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

. 그것은 어떤 오류도 던지지 않으며, 그냥 빈 항목을 남기는 것 같습니다.

답변

0

나는 동일한 문제가있다. 나는 잘 모르겠다. 거래를 시작 했습니까?

0

먼저 romanvbabenko가 언급 했으므로 쓰기 트랜잭션 내에서 이와 같이 변경해야합니다.

두 번째로 해제 할 경우 RLMResults 또는 RLMArray을 돌연변이시킬 때 - 예외가 발생하는 Realm의 향후 버전에서이를 안전하게 변경할 수 없습니다.

item.realm.deleteObjects(item.linkingObjectsOfClass(ShoppingList.self, forProperty: "list"))

:

이 작업을 수행하는 가장 좋은 방법은 다음을 것

관련 문제