iOS 枚举加位操作
2015-08-07 23:47
253 查看
在iOS中常看到很多枚举加左移操作,那么为什么要这样写呢?
我觉得这样写的好处有两个,其一是易读性更高,左移操作符前后两个数据可以分别代表不同的含义,其二就是为了和其他未操作符结合起来表示或的含义;
举个简单的例子:
上面定义一个枚举RefreshType,里面的数据用左移操作表示两个不同的数据;
然后将它定义成属性:
然后这样调用:
那么怎么进行判断呢?
可以这样判断:
和位操作与结合起来,这样就可以了。
我觉得这样写的好处有两个,其一是易读性更高,左移操作符前后两个数据可以分别代表不同的含义,其二就是为了和其他未操作符结合起来表示或的含义;
举个简单的例子:
typedef NS_OPTIONS(NSInteger, RefreshType) { RefreshTypePullDown =1 <<0, RefreshTypePullUp =1 <<1 };
上面定义一个枚举RefreshType,里面的数据用左移操作表示两个不同的数据;
然后将它定义成属性:
@property (nonatomic) RefreshType refreshType;
然后这样调用:
RefreshType = RefreshTypePullDown|RefreshTypePullUp;这个就是和位操作或结合起来,表示同时;
那么怎么进行判断呢?
可以这样判断:
if (self.refreshType & RefreshTypePullDown) { code; } if (self.refreshType & RefreshTypePullUp) { code; }
和位操作与结合起来,这样就可以了。
相关文章推荐
- iOS欢迎界面Launch Screen动态加载广告
- ios 开发 向工程中添加文件夹及文件 找不到头文件
- IOS开发-手势简单使用及手势不响应处理办法
- ios状态栏的设置
- iOS 8中使用CoreLocation定位
- 断点的使用技巧(未完待补充)
- iOS开发_杂谈
- IOS 自定义滑动Tab(顶部) 带滑动的条条
- IOS界面适配一: Pt与Px的关系
- (素材源码)swanzhu学IOS(三)打飞机
- iOS 返回一张可以随意拉伸不变形的图片
- 多线程04---超级牛逼的GCD
- iOS CATransform3DMakeRotation 旋转,翻转
- 【读书笔记】iOS-本地文件和数据安全注意事项
- 【读书笔记】iOS-本地文件和数据安全注意事项
- iOS NSDateFormatter格式详细列表一览
- [iOS]Xcode no visible @interface for XXX declares…
- iOS开发 单例类,拨打电话以及禁用导航条的侧滑功能
- iOS 常见 Crash 及解决方案
- iOS集成容联云通信 IM