2012-05-29 3 views
27

Я видел, что в качестве флага используется логическое свойство. что-то вроде этого:Могу ли я использовать перечисление как свойство в Objective C

@property (nonatomic) BOOL commaAlreadyIntroduced; 

Мне нужно что-то подобное, но с 3 или 4 состояниями.

Могу ли я использовать перечисление?

Автономное перечисление должно выглядеть следующим образом:

typedef enum stackState{ 
    empty, oneOperand, operandAndOperator, fullStack 
}stackState; 
+0

дубликат http://stackoverflow.com/questions/6863167/objective-c-getter-and-setter-properties-for-enum –

+0

Возможный дубликат http://stackoverflow.com/questions/7126177/using- a-typedef-enum-in-my-object-class – diegoreymendez

+3

Вы действительно должны использовать typedef NS_ENUM. – paulrehkugler

ответ

50

Да, это не проблема:

@property (nonatomic, assign) stackState yourIvar; 
+1

Это сработало. Благодарю. – bursyllac

2

@property (неатомической, назначать) перечисление stackState yourIvar;

(получают ошибки, пока я не добавил перечисления)

4
@property (nonatomic, assign) enum stackState stackStateVar; 

Без 'перечислимого добавил, мои тесты блока продолжали показывать ошибки.

+0

Это сообщение было здесь в течение 4 лет, я не думаю, что какие-либо новые ответы получат много внимания. –

+0

Вы немного ошибаетесь – Renetik

Смежные вопросы