SWIFT Enumeration(1)
Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration
enum Day:Int{
case Monday = 1, Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
}
Monday赋值为1其它值则按顺序自动赋值,也是一种比较简便的写法,当然也可以为每个属性赋值
enum Day:Int{
case Monday = 1
case Tuesday = 2,
case Wednesday = 3,Thursday,Friday,Saturday,Sunday
}
let myday = Day.Sunday //自动推测为Day类型的Enumeration
let dayNumber = Day.Sunday.rawValue //值为7
以下定义一个String类型的Enumeration
enum Period:String{
case Morning = "Morning"
case Noon = "Noon"
case AfterNoon = "Afternoon"
case Night = "Night"
case MidNight = "MidNight"
}
Enumeration还有一个很强大的功能叫关值
enum AgeStatus{
case Legal
case NoOldEnought(Int) //关联值
init(){
self = Legal //default value
}
var description:String{
switch self{
case Legal:
return "Age is legal"
case NoOldEnought(let a):
return "Age \(a) is illegal"
default:
return "Age is illegal"
}
}
}
var sheAgeStatus = AgeStatus()
sheAgeStatus.description //Age is legal
sheAgeStatus = AgeStatus.NoOldEnought(10)
sheAgeStatus.description // return Age 10 is illegal
Enumeration中还可以定义方法,在上面添加以下方法代码:
func reportStatus() ->String{
return self.description
}
调用方法:
sheAgeStatus.reportStatus()
最新文章
- js抽奖跑马灯程序
- 开启telnet的几种方法
- [ACM_图论] Fire Net (ZOJ 1002 带障碍棋盘布炮,互不攻击最大数量)
- CUBRID学习笔记 43 insert into
- C# XML - XmlNode and XmlAttribute
- URL- 含义及组成
- linux下的僵尸进程处理SIGCHLD信号
- JAVA_build_ant_sed
- perl学习(9) 实例:取出操作时间最长的100个记录
- (四)左右ng-app自己主动bootstrap相框
- NLPIR中文分词器的使用
- 阿里云OSS存储
- git(2)----Git的常用撤销技巧与解决冲突方法
- viewpager 设置预加载项
- Spring cloud zuul跨域(二)
- 浅谈 REST 和 RESTFul API
- [重点]delphi 实现 根据给定的标题去《中国青年报》网上电子报数据中查找匹配的内容,并从该内容中取出引题、正题、副题、作者和正文。
- 微信小程序接入百度统计
- H5页面关于android软键盘弹出顶起底部元素的解决方案
- Nginx+Windows负载均衡(转载)