カスタムメソッドがなければ、残念ながら現時点ではやや面倒ですが、文字列表現を代わりに格納して列挙型に変換することができます。
public enum Foo {
FOO
}
// V1: Using static methods
public class Bar1 extends RealmObject {
private String enumValue;
// Getters/setters
// Static methods to handle the enum values
public static Foo getEnum(Bar1 obj) {
return Foo.valueOf(obj.getEnumValue())
}
public static Foo setEnum(Bar1 obj, Foo enum) {
return obj.setEnumValue(enum.toString());
}
}
// V2: Use a dummy @Ignore field to create getters/setters you can override yourself.
public class Bar2 extends RealmObject {
private String enumValue;
// Dummy field
@Ignore
private String enum;
public void setEnumValue(String enumValue) {
this.enumValue = enumValue;
}
public String getEnumValue() {
return enumValue;
}
public void setEnum(Foo foo) {
setEnumValue(foo.toString());
}
public Foo getEnum() {
return Foo.valueOf(getEnumValue());
}
}
Objective-Cの最後の段落のリンクは、実際にはSwiftです。どちらがいいですか? :-) –