假设我有一个枚举如下:
typedef enum {
FooGoods = 0,
FooInsurance = 1,
} FooCategory;
我将它作为属性和另一个对象中的ivar
@property (nonatomic) FooCategory *category;
当我创建其他对象时,我正在填充NSDictionary
的值,所以我做了这样的事情:
[baz setCategory:[aDictionary objectForKey:@"Category"]];
但是因为我的枚举不是指针,所以我收到错误。
执行此操作也会收到警告“不兼容的整数到指针转换”:
[baz setCategory:[[aDictionary objectForKey:@"Category"] intValue]];
任何其他错误/警告方式?
答案 0 :(得分:2)
以下内容不正确
@property (nonatomic) FooCategory *category;
应改为
@property (nonatomic) FooCategory category;
现在这应该没有警告
baz.category = (FooCategory)[aDictionary objectForKey:@"Category"] intValue];