自分は SQLから入っているんで、こんな事をやりたいわけですよ。(realm java)
public class Item extends RealmObject{
int flags;
};
realm.where(Item.class).EqualTo(“flags&3”, 3).findAll();
が、今のところビット演算はサポートしていないと言うじゃないですか。
考えた末、こんな事に。(idには 1,2,4,8ってな数値が入っている)
public class FlagItem extends RealmObject{
int id;
};
public class Item extends RealmObject{
RealmList
};
realm.where(Item.class).EqualTo(“flags.id”, 1).EqualTo(“flags.id”, 2).findAll();
配列の要素に対して EqualToを書くと配列中のいずれかがマッチすれば OKという風になるらしい。
ちなみに swift realmではこんなコードに。
class FlagItem: Object {
dynamic var id = 0
}
class Item: Object {
let flags = List
}
realm.objects(Item.self).filter(“any flags.id==%@”, 1).filter(“any flags.id==%@”, 2)
anyが重要。