`
stephen830
  • 浏览: 3010490 次
  • 性别: 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-KVO和枚举的简单理解和使用,仅作学习参考.zip

    在Objective-C中,我们使用`enum`关键字创建枚举类型;而在Swift中,枚举更加强大,支持关联值、案列方法和原始值等特性。 #### 枚举的常见用途: 1. **代码可读性**:通过赋予常量有意义的名字,提高代码的可读性...

    iOS开发之枚举用法小结

    在Objective-C中,从iOS 6开始,Apple引入了`NS_ENUM`和`NS_OPTIONS`两个宏来定义枚举类型。`NS_ENUM`通常用于定义一般枚举,而`NS_OPTIONS`则用于定义带有移位运算的枚举,适用于一个枚举变量可以同时赋值多个枚举...

    Swift视频教程 枚举的定义和语法

    在Swift中,枚举(Enumeration)是一种非常重要的数据类型,它允许我们定义一组相关的值,并给它们一个共同的类型。本教程将深入探讨Swift中的枚举定义和语法。 首先,枚举的基本定义方式如下: ```swift enum ...

    iOS开发之AssetsLibrary框架使用详解

    上面示例的枚举函数用来根据参数类型获取资源组,ALAssetsGroupType参数决定获取组的类型,可选值枚举如下: enum { ALAssetsGroupLibrary, ALAssetsGroupAlbum, ALAssetsGroupEvent, ALAssetsGroupFaces, ...

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

    在iOS开发中,掌握C语言的基本知识是必不可少的,尤其是结构体和枚举。本文将深入探讨这两个概念。 首先,我们来谈谈结构体。结构体是C语言中一种非常重要的构造类型,它允许我们将不同类型的数据封装在一起,形成...

    IOS应用源码之仿iOS原生计算器.zip

    在源码中,我们可能会看到变量声明、函数定义、控制流结构(如if语句和for循环)、类与结构体、枚举以及协议等Swift基础语法的运用。 其次,UIKit框架是构建iOS用户界面的核心。在这个仿原生计算器的项目中,UIKit...

    iOS面试资源(阿里 腾讯等)打包

    协议定义了一组方法和属性,类、结构体或枚举类型可以选择遵循这些协议。在iOS开发中,协议常用于实现类似接口的功能,提高代码的可扩展性和可维护性。理解协议的可选和默认实现,以及协议与扩展的关系,是面试中...

    iOS开发编程规范.pdf

    - 枚举类型命名遵循类命名规则,枚举内容以枚举类型名称开头。 - 使用`NS_ENUM`定义普通枚举,如`typedef NS_ENUM(NSInteger, UIViewAnimationTransition)`。 - 使用`NS_OPTIONS`定义位移枚举,如`typedef NS_...

    IOS字体名字和图片

    这里我们将详细探讨iOS中常见的字体类型、如何在项目中引入自定义字体以及字体的使用技巧。 首先,iOS系统自带了一些预设的字体,如Thonburi、SnellRoundhand、ArialRoundedMTBold、TrebuchetMS等,这些字体在用户...

    iOS开发书籍OC和swfit

    8. **推送通知**:Apple Push Notification Service(APNs)的使用和集成。 9. **测试**:XCTest用于单元测试和UI测试,确保代码质量。 10. **持续集成/持续部署(CI/CD)**:如使用Jenkins、Fastlane自动化构建和...

    ios-协议protocol

    类、结构体或枚举类型可以遵循一个或多个协议,从而实现多态性,这使得代码更加灵活和可扩展。下面我们将深入探讨iOS中的协议及其相关知识点。 1. **什么是协议?** 协议是一种设计模式,它允许你为不同的类定义...

    iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏源码

    我们可以使用Swift的枚举类型表示游戏状态(如开始、运行、暂停、结束),并维护一个全局变量跟踪得分。每当敌机被摧毁,分数增加;当玩家的生命值降为零,游戏结束。 最后,别忘了音效和音乐。SpriteKit支持播放...

    iOS代码规范.pdf

    - 枚举类型应使用"NS_ENUM"或"NS_OPTIONS"宏定义,以确保枚举值能被正确处理。 - 枚举的命名规则与类命名规则一致,枚举中每个项的命名应以枚举类型名称开头,以保证清晰和一致。 7. 方法命名: - 方法命名采用...

    YCDefine, iOS项目中常用到的宏整理,使用方便快捷。.zip

    枚举在iOS开发中广泛使用,`YCDefine`可能会提供一些宏来简化枚举的定义,比如添加枚举值的描述或者实现枚举类型的安全转换。 9. **KVO(Key-Value Observing)**: KVO是一种监听对象属性变化的方法,`YCDefine`...

    eSDK CC V100R005C10 接口参考 01(VTM, iOS)

    这份文档涵盖了eSDK VTM iOS接口的各个方面,包括基本的数据类型定义、接口参数说明以及实用的示例代码。 首先,我们要理解eSDK的核心概念。eSDK是华为提供的一个跨平台、开放的开发框架,它允许开发者通过标准接口...

    上海iOS最新面试题汇总

    1. **Swift语法**:熟悉Swift的变量声明、常量、类型推断、函数、枚举、结构体和类的区别。 2. **Optionals(可选类型)**:理解可选值的概念,使用if let、guard let进行安全解包。 3. **Inference(类型推断)**...

    swift-学习和分享iOS开发的知识和经验

    1. **Swift语法**:Swift语法比Objective-C更为现代化,它支持类型推断、闭包、可选类型、泛型、枚举等特性,使得代码更易读写。例如,`let` 和 `var` 分别用于声明常量和变量,`func` 用于定义函数,`if let` 用于...

    ios面试题笔试题和ios简历模板

    - 枚举:掌握枚举类型的定义及使用方法,尤其是模式匹配在switch语句中的应用。 - 泛型:理解泛型的概念,学会编写泛型函数和类型。 2. **Objective-C语言基础**: - 由于许多iOS项目仍然采用Objective-C编写,...

    Flappy Bird游戏iOS端项目源码

    游戏状态(如游戏开始、游戏结束)的管理通常通过枚举类型和状态机来实现,确保游戏流程的正确性。 此外,游戏的用户界面(UI)和音效也是必不可少的。Swift3支持UIKit框架,可以方便地创建按钮、标签等UI元素,并...

Global site tag (gtag.js) - Google Analytics