Swift初学者,刚过完一遍Swift Apprentice,期间配合着《Swift 3.0官方教程中文版》看,对于几个比较重要又较为复杂的知识点,通过查查资料,写写博客的方式系统化知识并加深理解。
enum、struct、class都是Swift提供的“named types”(protocol将单独介绍),它们之间有很多相同之处,又有各自的特性,存在即合理,在正确的时刻选择正确的“named types”算是初学者的必修课了吧,下面将从最基础的语法讲起,同时介绍各自的特性以及异同。
枚举(Enumerations)
定义:枚举为一组相关的值定义了一个共同的类型,使你可以以类型安全的方式来使用这些值
枚举的语法
定义一个枚举类型:
enum CompassPoint {
case north
case south
case east
case west
}
用enum关键字来表示枚举,大括号中用case关键字来定义新的枚举成员值。
Swift也提供了更简洁的语言,省略多余的case,将多个成员值用逗号隔开,如下:
enum CompassPoint {
case north, south, east, west
}
实例的创建及使用:
//将枚举中的某个值赋值给变量
var compassPoint = CompassPoint.north
//当系统已经知道变量的枚举类型时,可以省略类型名
compassPoint = .south
原始值(Raw values)
枚举的成员可以被默认值(原始值)预填充,这些原始值的类型必须相同。
定义一个原始值为Int的枚举类型Month。
enum Month: Int {
case january , february, march, april, may, june, july, august, september, october, november, december
}