NS_OPTIONS枚举的用法
2015-10-26 11:32
253 查看
//NS_OPTIONS,定义选项
typedef NS_OPTIONS(NSUInteger, MyOption) {
MyOptionNone = 0, //二进制0000,十进制0
MyOption1 = 1 << 0,//0001,1
MyOption2 = 1 << 1,//0010,2
MyOption3 = 1 << 2,//0100,4
MyOption4 = 1 << 3,//1000,8
};
使用方法:
//声明定义枚举变量
MyOption option = MyOption1 | MyOption2;//0001 | 0010 = 0011,3
//检查是否包含某选型
if ( option & MyOption3 ){ //0011 & 0100 = 0000
//包含MyOption3
}else{
//不包含MyOption3
}
//增加选项:
option = option | MyOption4;//0011 | 1000 = 1011, 11
//减少选项
option = option & (~MyOption4);//1011 & (~1000) = 1011 & 0111 = 0011, 3
转自http://segmentfault.com/a/1190000002949236
typedef NS_OPTIONS(NSUInteger, MyOption) {
MyOptionNone = 0, //二进制0000,十进制0
MyOption1 = 1 << 0,//0001,1
MyOption2 = 1 << 1,//0010,2
MyOption3 = 1 << 2,//0100,4
MyOption4 = 1 << 3,//1000,8
};
使用方法:
//声明定义枚举变量
MyOption option = MyOption1 | MyOption2;//0001 | 0010 = 0011,3
//检查是否包含某选型
if ( option & MyOption3 ){ //0011 & 0100 = 0000
//包含MyOption3
}else{
//不包含MyOption3
}
//增加选项:
option = option | MyOption4;//0011 | 1000 = 1011, 11
//减少选项
option = option & (~MyOption4);//1011 & (~1000) = 1011 & 0111 = 0011, 3
转自http://segmentfault.com/a/1190000002949236
相关文章推荐
- Uber从单体架构转向微服务架构
- 远程操作linux的利器:putty和psftp
- linux 下svn(独立)搭建
- Nginx为什么要造重复的轮子nginScript
- Apache Commons fileUpload实现文件上传
- Web网站的性能测试工具
- Linux命令大全----系统管理相关命令
- CentOS安装nodejs
- CentOS 6使用mutt+msmtp发送邮件
- opencv2-第五章-图像金字塔
- linux 中php以及nginx的重启命令
- Linux下sed命令使用全解析
- nginx启动、重启、关闭
- arm-linux-gcc( arm-none-linux-gnueabi-gcc) cause "No such file or directory"
- LifeRay运行在Tomcat上的整改记录
- linux基础学习7
- shell命令之(三)find常见用法
- Mac安装tomcat
- 3种LVS/Nginx/HAProxy负载均衡器的对比分析
- Fix iOS 9 App Transport Security Issues In Apache Cordova