Objective c 目标C:在何处以及如何声明枚举?

Objective c 目标C:在何处以及如何声明枚举?,objective-c,enums,Objective C,Enums,朋友们,你好。 我是Objective-C的新手。我想在我的课堂上使用enum并将其公开。 我知道如何声明枚举(http://stackoverflow.com/questions/1662183/using-enum-in-objective-c),但我不知道该在哪里申报 我试过: @interface MyFirstClass : NSObject { typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes; } 或: 但编译器抛出

朋友们,你好。 我是Objective-C的新手。我想在我的课堂上使用enum并将其公开。 我知道如何声明枚举(http://stackoverflow.com/questions/1662183/using-enum-in-objective-c),但我不知道该在哪里申报

我试过:

@interface MyFirstClass : NSObject {
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
}
或:

但编译器抛出错误:“typedef之前应该有说明符限定符列表”


怎么了?

@接口
声明之外

typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;

@interface MyFirstClass : NSObject {
}

@end
h

.m文件

   type=VALUE_A;

可以创建头文件(*.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;

在这种情况下,枚举的可见性是什么?(我说的不是“type”变量,而是接口外部的枚举)。如果您想在其他类的代码中的某个地方使用此myTypes枚举,则必须直接或间接地在该类中导入MyFirstClass.h。因此,枚举的可见性就是它的定义位置。如果你想在你拥有的所有类中使用枚举,那么只需创建单独的EnumConstants.h文件,将它们全部放在那里,然后将它们导入到你的project-Prefix.pch中。所以你们所有的班级都能看到它。我希望它能帮助一些人。谢谢你的宏在做什么?
//  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;