Realm.io:坚持一个枚举

Jas*_*ues 4 objective-c realm ios

鉴于以下内容:

typedef NS_OPTIONS(NSUInteger, AssetClass)
{
    AssetClassFixed = 1,
    AssetClassPortable = 2
};
Run Code Online (Sandbox Code Playgroud)

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

@interface MyEntity : RLMObject

@property AssetClass assetClass;

@end
Run Code Online (Sandbox Code Playgroud)

mar*_*ius 5

预计这将失败:

'无法使用不兼容的类型持久保存属性'assetClass'.添加到ignoredPropertyNames:忽略的方法.

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

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

-typedef NS_OPTIONS(NSUInteger, AssetClass)
+typedef NS_OPTIONS(NSInteger, AssetClass)
Run Code Online (Sandbox Code Playgroud)