如果没有自定义方法,不幸的是目前有点麻烦,但是您可以存储字符串表示,并将其转换为enum。
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。这很好。 :-) –