Objective-C: where and how should I declare enums?
Good day, friends. I'm newbie in Objective-C. I'm wanting to use enum in my class and make it public. I've understand how to declare enums (http://stackoverflow.com/questions/1662183/using-enum-in-objective开发者_运维问答-c), but I don't understand where should I declare them.
I've tried:
@interface MyFirstClass : NSObject {
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
}
or:
@interface MyFirstClass : NSObject {
@public
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
}
But compiler throws error: "expected specifier-qualifier-list before typedef".
What's wrong?
.h
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
@interface MyFirstClass : NSObject {
MyTypes type;
}
.m file
type=VALUE_A;
Outside of the @interface
declaration.
typedef enum myTypes {VALUE_A, VALUE_B, VALUE_C} MyTypes;
@interface MyFirstClass : NSObject {
}
@end
You can create a header file (*.h) and do following to match your enum variable.
// EnumConstants.h
#ifndef EnumConstants_h
#define EnumConstants_h
typedef enum {
VEHICLE,
USERNAME
} EDIT_TYPE;
typedef enum {
HIGH_FLOW,
STANDARD_FLOW
} FLOW_TYPE;
#endif
Uses:
#import "EnumConstants.h"
UISwitch *onOffSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(self.tableview.frame.size.width-75, 26, 0, 0)];
onOffSwitch.tag =STANDARD_FLOW;
精彩评论