在swift中,枚举类型是相当重要的一个数据类型,他跟以往的c语言、object_c中的枚举类型有很大的区别;
1、在你的代码中,用枚举是类型安全的;
enum HttpMethond{
case get,post
}
let get = HttpMethond.get
//default 这个分支是没有必要的写的,此swich语句中,HttpMethond枚举中两个分支都已经存在;
switch get{
case .post:
print("post")
case .get:
print("get")
default:
print("get")
}
enum CompassPoint{
case north
case south
case east
case west
}
//这里的swich中,CompassPoint枚举类型,所有分支并没有全出现,default是必须要有的;这就是枚举的安全
var north=CompassPoint.north
switch north{
case .south:
print("sourth")
case .west:
print("sourth")
case north:
print("north")
default:
print("get")
}
2、枚举类型没有默认的值,但是每个枚举值的类型是任意的;
//枚举关联值
//一种商品的两种表现形式
enum Barcode {
case upc(Int,Int,Int)//条形码
case qrCode(String)//二维码
}
var product1=Barcode.upc(1,2,3,5)
switch product1{
case .upc(2,4,2):
print("条形码")
case .qrCode("ABCDESF"):
print("二维码")
case .upc(1,5):
print("是我要的")
default:
print("都不是我要的")
}