码迷,mamicode.com
首页 > Web开发 > 详细

Swift学习之位移枚举的按位或运算

时间:2016-09-26 23:11:22      阅读:760      评论:0      收藏:0      [点我收藏+]

标签:

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里面位移枚举的使用小结,如果写的有什么不对的欢迎大家补充,希望大家能学到,谢谢大家的阅读~

文章来源:极客头条

Swift学习之位移枚举的按位或运算

标签:

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!