iOS枚举类型的定义和使用
枚举的定义
ViewController895.h
#import <UIKit/UIKit.h> @interface ViewController895 : UIViewController //定义枚举类型 typedef enum { ENUM_ViewController895_ActionTypeStart=0,//开始 ENUM_ViewController895_ActionTypeStop,//停止 ENUM_ViewController895_ActionTypePause//暂停 } ENUM_ViewController895_ActionType; //-------in parameters--------------- @property (nonatomic,assign) NSInteger InActionType; //操作类型 @end
上面我们就在ViewController895.h定义了一个枚举类型,枚举类型的值默认是连续的自然数,例如例子中的
ENUM_ViewController895_ActionTypeStart=0,//开始
那么其后的就依次为1,2,3....所以一般只需要设置枚举中第一个的值就可以。
枚举的使用
在需要使用的地方,引入枚举定义所在的.h文件,例如现在要在ViewController896.h中使用上面定义的枚举,那么:
ViewController896.h
#import <UIKit/UIKit.h> #import "ViewController895.h" @interface ViewController896 : UIViewController @end
将枚举定义的.h import进来
然后就可以使用了。
ViewController896.m
#import "ViewController896.h" @interface ViewController896 () @end @implementation ViewController896 - (void)viewDidLoad { [super viewDidLoad]; self.edgesForExtendedLayout=UIRectEdgeNone; self.view.backgroundColor=[UIColor whiteColor]; UIButton* btnGo = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btnGo setTitle:@"GO" forState:UIControlStateNormal]; [btnGo setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; btnGo.frame = CGRectMake(20, 120, 100, 40); btnGo.backgroundColor=[UIColor whiteColor]; btnGo.layer.borderWidth=0.5; btnGo.layer.borderColor=[UIColor blueColor].CGColor; [btnGo addTarget:self action:@selector(_doClickGo:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnGo]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } -(void) _doClickGo : (UIButton*) sender { ViewController895* nextpage = [[ViewController895 alloc]init]; nextpage.InActionType=ENUM_ViewController895_ActionTypePause; [self.navigationController pushViewController:nextpage animated:YES]; }
代码中的:
nextpage.InActionType=ENUM_ViewController895_ActionTypePause;
就直接使用了之前定义的枚举类型数据:ENUM_ViewController895_ActionTypePause ,其值为2.
相关推荐
Enum,也就是枚举,从C语言开始就有了,C++、Java、Objective-C、Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—规范的定义代码中的状态、选项等“常量”。 举个例子,我们想要在...
一、结构体 在前面的数组分享中,把同一类型...先定义结构体类型, 在定义结构体变量 struct student { int age ; char *name; double height; }; struct student sd; 2.定义结构体类型的同时
一、json、对象、字典等随意转换,容纳所有类型,包括常用的NSObject家族,基本数据类型int、long等,冷门的结构体、枚举等。 二、一行代码全自动转换。不管你的类中有数组、字典、其他对象类型还是基本类型,不管...
1、可以很简单的集成 BSChartBaseView 做你想做的坐标视图 描点、画线再也不是一件难事 2、对外 看到和使用的都是 BSChartCoordianteView 你要做的只是扩展 视图的枚举类型 并传进配置参数
在iOS 中实现对象序列化,需要遵行NSCoding协议,然后对对象的每个属性进行归档和接档赋值,响应的操作比较繁琐。本文主要介绍 利用 runtime遍历属性 大大简化代码量,下面来看看详细的介绍吧。 具体实现代码如下: ...
数组中存储的是一系列相同的数据类型,那么如果想让一个变量存储不同的数据类型就要使用结构体,结构体定义类似于C++、C#、Java等高级语言中类的定义,但事实上它们又有着很大的区别。结构体是一种类型,并非一个...
类型定义。 支持三种核心语言的原始类型和用户定义的枚举、记录和接口的交集。 生成接口代码,允许在 C++ 和 Java(使用 JNI)或 Objective-C(使用 Objective-C++)之间进行双向调用。 可以自动生成数据类型的比较...
* 使用OC中的枚举类型 `Objective-C 里的常量不能直接在 JS 上使用,可以直接在 JS 上用具体值代替,或者在 JS 上重新定义同名的全局变量` 3. 类的扩展 * 重写方法(调用父类方法,需添加`ORIG`关键字) * 覆盖方法...
金尼Djinni是用于生成跨语言类型声明和...主要特点从单个接口描述文件生成并行的C ++,Java和Objective-C类型定义。 支持三种核心语言的原始类型和用户定义的枚举,记录和接口的交集。 生成接口代码,该接口代码允许在
函数定义和函数调用 带参数的函数 返回值的函数 变量/常量范围和函数 嵌套函数 类和协议 枚举 创建类和实例化 子类和覆盖 协议 更Swift的善良 扩展 运算符重载 泛型 表情符号 带有 Swift 的 iOS 8 应用程序 创建应用...
第4章 数据类型和表达式 4.1 数据类型和常量 4.1.1 int类型 4.1.2 float类型 4.1.3 double类型 4.1.4 char类型 4.1.5 限定词:long、long long、short、unsigned及signed 4.1.6 id类型 4.2 算术表达式 4.2.1 运算符...
如上所述定义枚举后,请查看此内置协议 ,并使上面的枚举符合该协议。 使面部卡返回其名称的字符串,对于带编号的卡,只需使其返回该数字作为字符串即可。 为此,您可以使用self来访问大小写并根据大小写返回所需的...
JSONModelKit是一个以API为中心的映射框架,它使用JSON或Plist映射文件来针对任意字典定义模型。 在构建时,库将基于定义生成模型文件,并将其自动添加到项目中,或更新任何现有文件。 通过减少对模型层本身的关注...
通过使用键值下标,易于将默认值设置为RemoteConfig。 自定义类型可用 :sparkles: String / Int枚举 Decodable (只读)和可Codable 。 可以管理配置值的有效期限。 结合框架支持。 入门 示例应用 基本用法 您...
类型枚举 LXDSegmentControlTypeSlideBlock 分栏控制器是滑块样式,点击分栏按钮移动滑块 LXDSegmentControlTypeSelectBlock 分栏控制器是圆角矩形样式,点击分栏按钮切换选中颜色 LXDSegmentControlTypeScaleTitle ...