美好的一天,朋友们。 我是Objective-C的新手。我想在课堂上使用枚举并将其公之于众。 我已经了解如何声明枚举(http://stackoverflow.com/questions/1662183/using-enum-in-objective-c),但我不明白我应该在哪里声明它们。
我试过了:
@interface MyFirstClass : NSObject {
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
}
或:
@interface MyFirstClass : NSObject {
@public
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
}
但是编译器会抛出错误:“在typedef之前预期的说明符 - 限定符列表”。
怎么了?
答案 0 :(得分:11)
·H
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
@interface MyFirstClass : NSObject {
MyTypes type;
}
.m文件
type=VALUE_A;
答案 1 :(得分:7)
在@interface
声明之外。
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
@interface MyFirstClass : NSObject {
}
@end
答案 2 :(得分:3)
您可以创建一个头文件(* .h)并执行以下操作以匹配您的枚举变量。
// EnumConstants.h
#ifndef EnumConstants_h
#define EnumConstants_h
typedef enum {
VEHICLE,
USERNAME
} EDIT_TYPE;
typedef enum {
HIGH_FLOW,
STANDARD_FLOW
} FLOW_TYPE;
#endif
用途:
#import "EnumConstants.h"
UISwitch *onOffSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(self.tableview.frame.size.width-75, 26, 0, 0)];
onOffSwitch.tag =STANDARD_FLOW;