美文网首页
关于枚举

关于枚举

作者: coder_hong | 来源:发表于2016-05-22 21:34 被阅读69次

C语言中的另一种数据类型---枚举类型。枚举类型在iOS中也是很常用的

枚举的概念

  • 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数

  • 当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型

枚举类型的定义

  • 一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};
#import <UIKit/UIKit.h>

enum Season {
    spring,
    summer,
    autumn,
    winter
};

  • 结合typedef
typedef enum {
    SexMale,
    SexFemale
} Sex;
@interface ViewController : UIViewController

@property (nonatomic, assign) Season Sea;
@end
  • 其余的两种定义方式
    • 定义枚举类型的同时定义枚举变量
#import <UIKit/UIKit.h>

enum Season {
    spring,
    summer,
    autumn,
    winter
} sea;

@interface ViewController : UIViewController

@property (nonatomic, assign) enum Season Sea;
@end
  • 省略枚举名称,直接定义枚举变量
#import <UIKit/UIKit.h>

enum {
    spring,
    summer,
    autumn,
    winter
} sea;

@interface ViewController : UIViewController

@property (nonatomic, assign) enum Season Sea;
@end

枚举的注意

  • C语言编译器会将枚举元素(spring、summer等)作为整型常量处理,称为枚举常量
  • 枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。

遍历枚举

enum Season {spring, summer, autumn, winter} s;

// 遍历枚举元素
for (s = spring; s <= winter; s++) {
    printf("枚举元素:%d \n", s);
}

输出结果:


在UIKIT中常见的枚举写法

方式一

#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, HTTableViewCellStyle) {
    HTTableViewCellStyleDefault,
    HTTableViewCellStyleValue1,
    HTTableViewCellStyleValue2,
    HTTableViewCellStyleSubtitle
};

@interface ViewController : UIViewController

@property (nonatomic, assign) enum HTTableViewCellStyle CellStyle ;
@end

方式二 位移操作枚举定义

#import <UIKit/UIKit.h>

typedef NS_OPTIONS(NSUInteger, HTTableViewCellStateMask) {
    HTTableViewCellStateDefaultMask                     = 0,
    HTTableViewCellStateShowingEditControlMask          = 1 << 0,
    HTTableViewCellStateShowingDeleteConfirmationMask   = 1 << 1
};


@interface ViewController : UIViewController

@property (nonatomic, assign) enum HTTableViewCellStateMask StateMasStyle ;
@end


相关文章

  • 关于枚举

  • 关于枚举

    理解,我想从来都是一个愈加深入的过程,而不是在某个点可以终结。 枚举是什么?一种规范?使用关键字enum声明一个枚...

  • 关于枚举

    C语言中的另一种数据类型---枚举类型。枚举类型在iOS中也是很常用的 枚举的概念 枚举是C语言中的一种基本数据类...

  • Swift枚举高级用法(Enum)

    关于swift的枚举 一 swift对于枚举的扩展性(Enum) 枚举的继承(继承任何类和协议,目前除了swift...

  • Java中的枚举类型

    关于枚举 枚举类型可以认为是具有固定常量集合的类 枚举定义在类的内部 输出的自然是 SPRINGSUMMERFAL...

  • iOS横竖屏转换记录

    1. 横竖屏方向枚举 关于横竖屏一共有三种枚举,UIInterfaceOrientation,UIInterfac...

  • 关于枚举 (Enum )

    Final 类型的类 枚举类经过编译器编译之后会被添加 Final 修饰,并且继承自 Enum 类 。所以使用 e...

  • Swift 中的枚举,你应该了解的东西

    谈到枚举,相信我们大家都并不陌生,大多数编程语言中,都有枚举的实现。关于枚举的定义,我们可以看看这里。 swift...

  • Swift 语法(三)

    枚举 声明 获取 原始值 可以给枚举变量赋原始值 (Raw Value),例如: 此外,关于原始值,还有其他用法,...

  • Java 开发者需要了解的18个枚举要点

    想了解更多关于在 Java 中使用枚举的信息吗?看看这篇关于枚举的18个要点的文章,每个 Java 开发人员都应该...

网友评论

      本文标题:关于枚举

      本文链接:https://www.haomeiwen.com/subject/ejxarttx.html