iOS --typedef enum的用法
2016-03-16 15:31
459 查看
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
//定义枚举类型
typedef enum {
ENUM_ViewController_ActionTypeStart=0, //
开始
ENUM_ViewController_ActionTypeStop, // 停止
ENUM_ViewController_ActionTypePause // 暂停
}ENUM_ViewController_ActionType;
//-------in parameters---------------
@property (nonatomic,assign) NSInteger InActionType; //
操作类型
@end
上面我们就在ViewController.h定义了一个枚举类型,枚举类型的值默认是连续的自然数
例如例子中的ENUM_ViewController5_ActionTypeStart=0,
// 开始
[b]那么其后的就依次为1,2,3....所以一般只需要设置枚举中第一个的值就可以
[/b]
<<带符号左移 (n<<2 将整型值带符号左移2位 )
[b]>>带符号右移 (n>>2 将整型值带符号右移2位 )
>>>无符号右移 (n>>>2 将整型值无符号右移2位 )[/b]
<<(左移)
将一个运算符对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)
操作数每左移一位,相当于该数乘以2
例如:3<<2
后,结果为12
此运算符的意思就是把3的二进制位全部左移两位,右边补2个0。3的二进制位11,左移两位后,右边补2个0就是1100。1100转为10进制为12。
说到底左移操作就相当于2的2次方×3。 每左移1位次方就增1
>>(右移)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2
例如:9>>1
后,结果为4
9的二进制为1001,右移1位后,左正数补0,右边丢弃。结果为
0100。转为10进制后为4。
根据位移的常识,我们得出了偏移后的数值
[objc] view
plain copy
typedef NS_OPTIONS(NSUInteger, ActionType) {
ActionTypeUp = 1 << 0, // 1
ActionTypeDown = 1 << 1, // 2
ActionTypeRight = 1 << 2, // 4
ActionTypeLeft = 1 << 3, // 8
};
@interface ViewController : UIViewController
//定义枚举类型
typedef enum {
ENUM_ViewController_ActionTypeStart=0, //
开始
ENUM_ViewController_ActionTypeStop, // 停止
ENUM_ViewController_ActionTypePause // 暂停
}ENUM_ViewController_ActionType;
//-------in parameters---------------
@property (nonatomic,assign) NSInteger InActionType; //
操作类型
@end
上面我们就在ViewController.h定义了一个枚举类型,枚举类型的值默认是连续的自然数
例如例子中的ENUM_ViewController5_ActionTypeStart=0,
// 开始
[b]那么其后的就依次为1,2,3....所以一般只需要设置枚举中第一个的值就可以
[/b]
<<带符号左移 (n<<2 将整型值带符号左移2位 )
[b]>>带符号右移 (n>>2 将整型值带符号右移2位 )
>>>无符号右移 (n>>>2 将整型值无符号右移2位 )[/b]
<<(左移)
将一个运算符对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)
操作数每左移一位,相当于该数乘以2
例如:3<<2
后,结果为12
此运算符的意思就是把3的二进制位全部左移两位,右边补2个0。3的二进制位11,左移两位后,右边补2个0就是1100。1100转为10进制为12。
说到底左移操作就相当于2的2次方×3。 每左移1位次方就增1
>>(右移)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2
例如:9>>1
后,结果为4
9的二进制为1001,右移1位后,左正数补0,右边丢弃。结果为
0100。转为10进制后为4。
根据位移的常识,我们得出了偏移后的数值
[objc] view
plain copy
typedef NS_OPTIONS(NSUInteger, ActionType) {
ActionTypeUp = 1 << 0, // 1
ActionTypeDown = 1 << 1, // 2
ActionTypeRight = 1 << 2, // 4
ActionTypeLeft = 1 << 3, // 8
};
相关文章推荐
- ios7导航栏返回按钮的一些问题总结
- IOS开发把一个结构体放到数组中
- iOS开发视图控制器(ViewController)调用[super viewXXX]的简单理解
- iOS与JS交互实战篇(ObjC版)
- IOS学习 使用OCMock单元测试(一)安装
- ios 开发过程中遇到的一些需要注意的地方
- 浅析iOS中实例方法和类方法
- iOS开发 CocoaPods 的安装流程
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- iOS取整
- iOS开发资源:VideoPlayerKit、AHAlertView以及REMenu等
- smartsvn解决冲突的方法
- iOS NSURLSession后台下载和断点续传
- 用HTML5/CSS3/JS开发Android/IOS应用框架大全
- IOS中正则表达式的使用
- iOS 单例的滥用和用依赖注入替代
- ios开发技巧之tableView去掉多余的空行分割线 自定义cell分割线
- iOS7上leftBarButtonItem无法实现滑动返回的完美解决方案
- IOS长按事件的方法
- IOS证书:this certificate was signed by an unknown authority