2012-06-01 67 views
0

假设我有一个枚举如下:创建从NSDictionary的一个枚举

typedef enum { 
    FooGoods = 0, 
    FooInsurance = 1, 
} FooCategory; 

而且我把它作为财产和伊娃在另一个对象

@property (nonatomic) FooCategory *category; 

当我创建的其他对象,我从NSDictionary与值填写所以我做这样的事情:

[baz setCategory:[aDictionary objectForKey:@"Category"]]; 

但是,因为我的枚举是不是指针,我得到一个错误。

这样做可以得到一个警告,以及“不兼容的整数指针转换”:

[baz setCategory:[[aDictionary objectForKey:@"Category"] intValue]]; 

任何其他方式,是错误/警告免费的吗?

+0

是什么GIKioskCategory的基类工作? –

+0

对不起,应该是FooCategory –

回答

2

下面是不正确

@property (nonatomic) FooCategory *category; 

应改为

@property (nonatomic) FooCategory category; 

现在,这个应该没有警告

baz.category = (FooCategory)[aDictionary objectForKey:@"Category"] intValue]; 
+0

啊,是的,习惯的力量。谢谢!一旦时间限制过去,将接受。 –

+0

欢迎,它也发生在我身上:) –

+1

请不要忘记接受,因为我需要8天前结束赢得徽章:P –