![Uploading 2B88CA96-A66A-4BE8-AD65-456C8CDB8DF3_547667.png . . .]昨天有位朋友希望我具体解释下位移枚举,正好杭州G20放假,夏夏就写点东西。
其实关于位移枚举,大家在平时写代码的时候,都是会经常遇到的。
这个是苹果的API里面的位移枚举,好比我们平时写程序的时候,会遇到这个符号
|
,有的人会以为这是或
的意思,其实不是的,这个就是位移枚举里面,多种情况同时存在的意思,用来隔开的。
位移枚举相对于普通枚举来说,稍微有点区别的,比如普通的枚举,你的写法是这样的<code>typedef NS_ENUM(NSInteger, UIViewAnimationTransition) </code>,然后位移枚举的写法是这样的<code>typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) </code>。
在位移枚举里,<<
这个是位移符号,相当于向前移动一位,在二进制里面,向前移动一位,相当于他的值乘以2(关于二进制的位移运算,具体也不是很清楚)。
关于具体的运用呢,夏夏也不甚清楚,参考地址:http://blog.csdn.net/ysy441088327/article/details/8012677
主要还是需要去了解,需要去理解,然后遇到了也不会懵逼,如果遇到某些场景,还能运用下。
夏夏的理解就是构造一个枚举,然后通过判断去给某些个业务的某个实体一个枚举值,接下来再写个方法,各种枚举值的处理方法,这样对于代码的设计来说,其实阅读能力降低了,但是封装性,设计性和修改性增加了。