2016-10-13 18 views
1

RealmListに含まれるAと呼ばれるRealmObjectRealmObjects B and Cにあります。 BCの両方にはmany to manyの関係があります。RealmobjectをRealmListから削除する

がどのように私はBRealmListからAを除去するが、それはCとの関係だ維持しない(すなわち、それはまだCs RealmListにする必要がありますか)?

要するに、Realmistからオブジェクトを削除する方法を知る必要があります。これは、同じオブジェクトの他の関係に影響を与えずに(Realmから削除することなく)行います。

答えて

1

本当にどんなリストのようにも。

realm.executeTransaction(new Realm.Transaction() { 
    B b = realm.where(B.class).equalTo(BFields.ID, bId).findFirst(); 
    Iterator<A> iterator = b.getRealmList().iterator(); 
    while(iterator.hasNext()) { 
     A a = iterator.next(); 
     if(a.getId().equals(idToDelete)) { 
      iterator.remove(); // removes from realm list, but not from Realm 
      break; 
     } 
    } 
}); 

しかし、私はあなたが主キーに基づいて動作するようにhashCode()equals()を再定義する場合、それは同様remove(Object object)で確実に動作するはずだと思います。

関連する問題