以下是要考虑的内容:
typedef NS_OPTIONS(NSUInteger, AssetClass)
{
AssetClassFixed = 1,
AssetClassPortable = 2
};
我该如何定义一个实体并使其拥有一个枚举类型的属性,以便能够持久化?
@interface MyEntity : RLMObject
@property AssetClass assetClass;
@end
以下是要考虑的内容:
typedef NS_OPTIONS(NSUInteger, AssetClass)
{
AssetClassFixed = 1,
AssetClassPortable = 2
};
我该如何定义一个实体并使其拥有一个枚举类型的属性,以便能够持久化?
@interface MyEntity : RLMObject
@property AssetClass assetClass;
@end
以下是预期的错误信息:
'无法使用不兼容的类型持久化属性' assetClass'。添加到ignoredPropertyNames:方法中以忽略。
Objective-C枚举的唯一原因无法工作是,因为枚举类型基于未支持的无符号类型,详情请参见此链接:not yet supported。
如果将其更改为有符号类型,则应该可以在没有别名属性的情况下正常工作。
-typedef NS_OPTIONS(NSUInteger, AssetClass)
+typedef NS_OPTIONS(NSInteger, AssetClass)