Realm.io:持久化枚举



给定以下条件:

typedef NS_OPTIONS(NSUInteger, AssetClass)
{
    AssetClassFixed = 1,
    AssetClassPortable = 2
};

如何定义一个将使用枚举类型的属性保持自身的实体?

@interface MyEntity : RLMObject
@property AssetClass assetClass;
@end

这将失败,原因是:

"无法持久化类型不兼容的属性"assetClass"。"。添加到ignoredPropertyNames:要忽略的方法。'

对于Objective-C枚举,它不起作用的唯一原因是,因为枚举类型基于尚未支持的无符号类型。

如果要将其更改为签名类型,则应在没有别名属性的情况下工作。

-typedef NS_OPTIONS(NSUInteger, AssetClass)
+typedef NS_OPTIONS(NSInteger, AssetClass)

最新更新