Swift学习笔记 - 位移枚举的按位或运算
来源:互联网 发布:sql更改语句 编辑:程序博客网 时间:2024/06/05 05:31
在OC里面我们经常遇到一些枚举值可以多选的,需要用或运算来把这些枚举值链接起来,这样的我们称为位移枚举,但是在swift里面却不能这么做,下面来讲解一下如何在swift里面使用
OC的位移枚举的区分
//位移枚举typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5};//普通枚举typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown,};
OC位移枚举的使用
OC里面位移枚举的使用一般用按位或运算符,也就是|
运算符。
//OC里位移枚举的定义 enum UIViewAnimationOptions option = UIViewAnimationOptionRepeat | UIViewAnimationOptionLayoutSubviews;//OC里普通枚举的定义 enum UIViewAnimationTransition option = UIViewAnimationTransitionFlipFromLeft;
swift的位移枚举的区分
//位移枚举public struct UIViewAutoresizing : OptionSetType { public init(rawValue: UInt) public static var None: UIViewAutoresizing { get } public static var FlexibleLeftMargin: UIViewAutoresizing { get } public static var FlexibleWidth: UIViewAutoresizing { get } public static var FlexibleRightMargin: UIViewAutoresizing { get } public static var FlexibleTopMargin: UIViewAutoresizing { get } public static var FlexibleHeight: UIViewAutoresizing { get } public static var FlexibleBottomMargin: UIViewAutoresizing { get }}//普通枚举public enum UIViewAnimationTransition : Int { case None case FlipFromLeft case FlipFromRight case CurlUp case CurlDown}
swift位移枚举的使用
swift里面位移枚举的用法跟OC就完全不一样了,当你去用按位或的运算符时系统会报错,在swift里面应该用数组来表示:
//swift里面位移枚举的定义 let option:UIViewAnimationOptions = [.repeat, .layoutSubviews]//swift里面普通枚举的定义 let option:UIViewAnimationTransition = .flipFromLeft
以上就是关于swift里面位移枚举的使用小结,如果写的有什么不对的欢迎大家补充,希望大家能学到,谢谢大家的阅读~
2 0
- Swift学习笔记 - 位移枚举的按位或运算
- swift学习笔记 - 位移枚举的按位或运算
- 枚举中的位运算学习笔记
- iOS学习笔记-132.位移枚举
- 枚举的位运算
- 枚举的位运算
- 位移位运算符
- 位运算,位移,窗体
- 学习笔记2:c++位运算-异或运算
- java 学习笔记之位移运算符
- 复习笔记5 位运算符 以及位移超出整数类型边界的回滚原理
- 位移运算符和位运算符的计算
- sql位运算符【&(位与)、~(位非)、|(位或)、^(位异或)】与位移
- leetcode算法题1: 两个二进制数有多少位不相同?异或、位移、与运算的主场
- Swift 的学习(枚举)
- Swift学习笔记之枚举
- Swift学习笔记之枚举
- Swift学习笔记(10)--枚举
- B树实现代码
- Android中的几种网络请求方式详解
- 对象——创建对象的三种方法第二层
- mongodb3.0远程连接认证失败
- 两分钟搞定从图库或者拍照上传头像~
- Swift学习笔记 - 位移枚举的按位或运算
- maven jetty 插件使用
- leetcode:数学:Factorial Trailing Zeroes(172)
- 使用蒲公英SDK的同学注意了!!!
- 执行sqlplus提示SP2-1503错误的问题解决
- 关于md5加密的实现(16位、32位)
- android 6.0权限申请封装
- 迪杰斯特拉算法与弗洛伊德算法
- Altium Designer设计PCB中如何开槽