swift学习:9.枚举

1.枚举语法:

enum Platform{
case Windows
case Linux
case MacOs
}
var myPlatform = platform.windows
myPlatform= .Linux
switch myPlatform{
case .Windows:
println(“这是Windows平台”)
default:
println("不支持该平台”)
}

2.关联值

enum Password{
case DigitPassword(Int)
case StringPassword(String)
}
var password = Password.DigitPassword(4078385)
password = Password.StringPassword(“admin”)
switch password{
case .DigitPassword(let digitPwd):
println(“数字密码是:\(digitPwd)”)
case .StringPassword(let strPwd)
println(“字符密码是:\(strPwd)”)
}

3.原始值

enum ASCIIControlCharacter:Character{
case Tab = “\t"
case LineFeed = “\n"
case CarriageReturn = “\t"
}

4.示例代码

enum Compasspoint{

case north

case South

case East

case West

}

var dir = Compasspoint.East

dir = .West

switch dir{

case .north:

print("north")

default:

print("Other")

}


enum Barcode{

case UPCA(Int,Int,Int)

case QRcode(String)

}

var productBarcode = Barcode.UPCA(3,4,8)

productBarcode = .UPCA(3,4,5)

productBarcode = .QRcode("asdf")

switch productBarcode{

case .UPCA(3,5):

println("1")

case var .QRcode(a):

println("2")

default:

println("3")

}


enum Planet:Int{

case Mercury = 1,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune

}

println(Planet.Earth.rawValue)

let possiblePlanet = Planet(rawValue: 7)

//let possiblePlanet = Planet.fromraw(7)

let planetFind = 9

if let somePlanet = Planet(rawValue: planetFind){

println("Found")

}

else{

println("No Found")

}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...