Ios Realm.io:持久化枚举

Ios Realm.io:持久化枚举,ios,objective-c,realm,Ios,Objective C,Realm,鉴于以下情况: typedef NS_OPTIONS(NSUInteger, AssetClass) { AssetClassFixed = 1, AssetClassPortable = 2 }; 如何定义一个实体,该实体将使用枚举类型的属性保持自身 @interface MyEntity : RLMObject @property AssetClass assetClass; @end 这可能会因以下原因而失败: '无法持久化类型不兼容的属性'assetClass'。

鉴于以下情况:

typedef NS_OPTIONS(NSUInteger, AssetClass)
{
    AssetClassFixed = 1,
    AssetClassPortable = 2
};
如何定义一个实体,该实体将使用枚举类型的属性保持自身

@interface MyEntity : RLMObject

@property AssetClass assetClass;

@end

这可能会因以下原因而失败:

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

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

如果要将其更改为签名类型,则应在不使用alias属性的情况下工作

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