可复选的枚举

Objective-C使用位运算设计可复选的枚举

非 Y 不嫁゛ 提交于 2020-03-18 01:12:22
某厂面试归来,发现自己落伍了!>>> 使用位运算设计可复选的枚举 一、枚举使用的一个小例子 在软件开发中,枚举是我们会经常会用到的一种编程方式,通过枚举,可以使我们的代码更具可读性与统一性。通常情况下,我们会通过typedef来定义一种枚举的类型来使用。例如: typedef enum { para1, para2, para3 }myEnum; 我们可以在函数的参数中来使用它: -(void)testEunm:(myEnum)para{ switch (para) { case para1: { NSLog(@"para%d",1); } break; case para2: { NSLog(@"para%d",2); } break; case para3: { NSLog(@"para%d",3); } break; default: break; } } 我们在调用调用这样的一个函数的时候,通过传入一个枚举类型,可以分流执行我们想要的操作。 二、枚举到底是个什么东西 枚举并不是一种奇怪的类型,起实质是整型的另一个名字,如果没有附加的操作,枚举中的第一个参数默认就是整型0,之后依次递加,当然,我们也可以认为的控制这个数值,例如: typedef enum { para1=7, para2, para3=1000 }myEnum; 可以这么理解,我在传参的时候