• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift枚举类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1:swift的枚举类型是一系列的值,不同于c语言中枚举类型是整数类型。每个枚举定义了个新的类型

 

2:switch类型匹配

 2.1枚举类型和switch单个匹配


enum PlatType{ 

case Plane, Ship, Train, Car

}

var eTransport:PlatType = PlatType.Ship
switch eTransport {
case .Plane:
    println("plane")
//case .Ship:
//    println("ship")
//case .Train:
 //   println("train")
case .Car:
    println("car")
default:
    println("default")
}

关于switch语句,必须是完备的。如上所示,如果没有把所有case写完整,那么就需要加上default语句。如上代码,会进入default语句。如果所有case都写完整了,那么可以不需要default语句。另外,不同与c语言等,swift语言的switch语句的case会自动break。

2.2 关联值枚举类型

enum OtherType{
    case Point(Int, Int)
    case Name(String)
}
var type:OtherType = .Name("xd")
type = .Point(4, 9)
switch type{
case .Point(let iX, let iY):
    println("point X:\(iX) Y: \(iY)")
case .Name(let strName):
    println("name:\(strName)")
}

 2.3 初始值设定。初始值类型必须要一致。

enum InitalSettingType:Character{
    case CharacterX = "a"
    case CharacterY = "r"
}
enum InitalIntType:Int{
    case Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, weekday
}Int类型枚举初始值会自动+1.类似c语言枚举

如果要访问枚举类型的出事值,使用toRaw方法。

let initValue = InitalIntType.Tuesday.toRaw()
println("\(initValue)")

使用fromRaw()反向查找枚举类型值。 

let value = InitalIntType.fromRaw(2)

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap