2012-06-01 99 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 –