NS_ENUM和NS_OPTIONS宏
2024-09-29 20:57:41
枚举的宏定义
一、简介
NS_ENUM和NS_OPTIONS宏提供了一种简明、简单的方法来定义基于C语言的枚举和选项。 这些宏提高了Xcode中的代码完成性,并明确指定了枚举和选项的类型和大小。 此外,此语法以一种方式来声明枚举,该方式由旧编译器正确地计算,并且由更新的编译器来解释底层类型信息。 使用NS_ENUM、NS_OPTIONS宏定义枚举,有助于定义枚举的名称和类型;
如果需要以按位或操作来组合的枚举都应该使用NS_OPTIONS宏;若枚举不需要互相组合,可以使用NS_ENUM来定义
二、例子
(1)如果使用枚举定义UITableViewCellStyle,可以使用NS_ENUM宏来改写
enum{
UITableViewCellStyleDefault,
UITableViewCellStyleValue1,
UITableViewCellStyleValue2,
UITableViewCellStyleSubtitle,
};
typedef NSInteger UITableViewCellStyle;
改写版
typedef NS_ENUM(NSInteger,UITableViewCellStyle){
UITableViewCellStyleDefault,
UITableViewCellStyleValue1,
UITableViewCellStyleValue2,
UITableViewCellStyleSubtitle,
}
(2)使用枚举定义的的一组位掩码。可以使用NS_OPTIONS来改写
enum{
UIViewAutoresizingNone =0,
UIViewAutoresizingFlexibleLeftMargin =1<<0,
UIViewAutoresizingFlexibleWidth =1<<1,
UIViewAutoresizingFlexibleRightMargin =1<<2,
……
}
使用NS_OPTIONS来改写
typedef NS_OPTIONS(NSInteger,UIViewAutoresizing){
UIViewAutoresizingNone =0,
UIViewAutoresizingFlexibleLeftMargin =1<<0,
UIViewAutoresizingFlexibleWidth =1<<1,
UIViewAutoresizingFlexibleRightMargin =1<<2,
……
}
最新文章
- links and softwares
- IOS开发基础知识--碎片17
- css3弹性盒子温习
- cnblogs开篇留念
- 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案
- sql语句原则
- 学习笔记 --- 最大流Dinic算法
- 【SQL】导出表数据到Excel中
- UDP模块(黑胶体)
- 动态规划(树形DP):HDU 5834 Magic boy Bi Luo with his excited tree
- CentOS添加swap分区
- Vijos P1881 闪烁的星星 (加强自己多一点。。)
- action 耦合方式
- 让php Session 存入 redis 配置方法
- hdu_3336: Count the string(KMP dp)
- Hadoop(十六)之使用Combiner优化MapReduce
- CentOS7中使用iptables
- windows蓝屏代码
- JAVA中局部变量 和 成员变量有哪些区别
- Appium基础(三)对象抓取