`
stephen830
  • 浏览: 2964747 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iOS枚举类型的定义和使用

 
阅读更多

 

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.

 

 

 

 

 

 

分享到:
评论

相关推荐

    iOS开发之枚举用法小结

    Enum,也就是枚举,从C语言开始就有了,C++、Java、Objective-C、Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—规范的定义代码中的状态、选项等“常量”。 举个例子,我们想要在...

    iOS开发分分钟搞定C语言?结构体和枚举

    一、结构体  在前面的数组分享中,把同一类型...先定义结构体类型, 在定义结构体变量  struct student {  int age ;  char *name;  double height;  };  struct student sd;  2.定义结构体类型的同时

    ios-轻量级对象字典转换库.zip

    一、json、对象、字典等随意转换,容纳所有类型,包括常用的NSObject家族,基本数据类型int、long等,冷门的结构体、枚举等。 二、一行代码全自动转换。不管你的类中有数组、字典、其他对象类型还是基本类型,不管...

    ios-自定义各种坐标视图.zip

    1、可以很简单的集成 BSChartBaseView 做你想做的坐标视图 描点、画线再也不是一件难事 2、对外 看到和使用的都是 BSChartCoordianteView 你要做的只是扩展 视图的枚举类型 并传进配置参数

    iOS中自动实现对象序列化的方法详解

    在iOS 中实现对象序列化,需要遵行NSCoding协议,然后对对象的每个属性进行归档和接档赋值,响应的操作比较繁琐。本文主要介绍 利用 runtime遍历属性 大大简化代码量,下面来看看详细的介绍吧。 具体实现代码如下: ...

    IOS开发之路–C语言构造类型

    数组中存储的是一系列相同的数据类型,那么如果想让一个变量存储不同的数据类型就要使用结构体,结构体定义类似于C++、C#、Java等高级语言中类的定义,但事实上它们又有着很大的区别。结构体是一种类型,并非一个...

    积分java源码-pyginny:PyGinny是一个生成跨语言类型声明和接口绑定的工具

    类型定义。 支持三种核心语言的原始类型和用户定义的枚举、记录和接口的交集。 生成接口代码,允许在 C++ 和 Java(使用 JNI)或 Objective-C(使用 Objective-C++)之间进行双向调用。 可以自动生成数据类型的比较...

    JSPatch学习笔记-UI基础

    * 使用OC中的枚举类型 `Objective-C 里的常量不能直接在 JS 上使用,可以直接在 JS 上用具体值代替,或者在 JS 上重新定义同名的全局变量` 3. 类的扩展 * 重写方法(调用父类方法,需添加`ORIG`关键字) * 覆盖方法...

    djinni:生成跨语言类型声明和接口绑定的工具

    金尼Djinni是用于生成跨语言类型声明和...主要特点从单个接口描述文件生成并行的C ++,Java和Objective-C类型定义。 支持三种核心语言的原始类型和用户定义的枚举,记录和接口的交集。 生成接口代码,该接口代码允许在

    LTPSwiftDemo:学习编程 Swift 演示

    函数定义和函数调用 带参数的函数 返回值的函数 变量/常量范围和函数 嵌套函数 类和协议 枚举 创建类和实例化 子类和覆盖 协议 更Swift的善良 扩展 运算符重载 泛型 表情符号 带有 Swift 的 iOS 8 应用程序 创建应用...

    Objective-C2.0程序设计

    第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 运算符...

    ios-module-project-protocols

    如上所述定义枚举后,请查看此内置协议 ,并使上面的枚举符合该协议。 使面部卡返回其名称的字符串,对于带编号的卡,只需使其返回该数字作为字符串即可。 为此,您可以使用self来访问大小写并根据大小写返回所需的...

    JSONModelKit:API驱动的JSON映射器。 根据JSON或PLIST生成模型文件并将其自动导入到您的项目中,并根据任意字典配置映射文件。 2鸟1石头

    JSONModelKit是一个以API为中心的映射框架,它使用JSON或Plist映射文件来针对任意字典定义模型。 在构建时,库将基于定义生成模型文件,并将其自动添加到项目中,或更新任何现有文件。 通过减少对模型层本身的关注...

    龙虾::shrimp:类型安全的Firebase-RemoteConfig帮助器库:shrimp:

    通过使用键值下标,易于将默认值设置为RemoteConfig。 自定义类型可用 :sparkles: String / Int枚举 Decodable (只读)和可Codable 。 可以管理配置值的有效期限。 结合框架支持。 入门 示例应用 基本用法 您...

    三种样式的分栏控制器

    类型枚举 LXDSegmentControlTypeSlideBlock 分栏控制器是滑块样式,点击分栏按钮移动滑块 LXDSegmentControlTypeSelectBlock 分栏控制器是圆角矩形样式,点击分栏按钮切换选中颜色 LXDSegmentControlTypeScaleTitle ...

Global site tag (gtag.js) - Google Analytics