时间:2021-05-02
枚举是由用户定义的数据类型的一组相关值。关键字 enum 用来定义枚举数据类型。
枚举功能
枚举在 swift 也类似于 C 和 Objective C 中结构类型
语法
枚举引入 enum 关键字和一对大括号内将它们定义:
例如,可以为星期定义枚举如下:
示例
当我们上面的程序使用 playground 运行,我们得到以下结果
Swift 中的枚举不象 C 和 Objective C 分配其成员的默认值,相反,成员由它们枚举名称明确定义。枚举名称应该使用大写字母(例如:enum DaysofaWeek)。
复制代码 代码如下:
这里所述枚举名'DaysofaWeek'被分配给一个变量 weekday.Sunday。它通知编译器数据类型属于周日将被分配给该特定类的后续枚举成员。一旦枚举成员的数据类型定义,其成员可以通过传递值,并进一步计算进行访问。
枚举与Switch语句
Swift 中的 'Switch' 语句也遵循了多路选择。 只有一个变量被以基于指定的条件的特定时间访问。默认情况下,在switch语句用于捕获不确定的情况(case)。
enum Climate{
case India
case America
case Africa
case Australia
}
var season = Climate.America
season = .America
switch season
{
case .India:
println("Climate is Hot")
case .America:
println("Climate is Cold")
case .Africa:
println("Climate is Moderate")
case .Australia:
println("Climate is Rainy")
default:
println("Climate is not predictable")
}
当我们上面的程序使用 playground 运行,我们得到以下结果
该程序首先定义了Climate 作为枚举名称。那么它的成员如, 'China', 'America', 'Africa' 和 'Australia' 声明属于类 'Climate'. 现在成员 America 被分配到一个 Season 变量。此外,Switch case可以找到对应 .America 的值,并跳转到该特定语句。 输出将显示为 “Climate is Cold”。同样,所有成员可以通过 switch 语句访问。 当条件不满足它打印默认内容 'Climate is not predictable'
枚举可进一步划分到相关的值和原始值。
关联值和原始值之间的差异
枚举与关联值
复制代码 代码如下:
当我们上面的程序使用 playground 运行,我们得到以下结果
例如,考虑访问学生的名字和标记固定在三个科目枚举名称被声明为 student ,而在枚举类中的成员名称都属于字符串数据类型,标记表示为 mark1, mark2 和 mark3 数据类型为整数。若要访问的是学生的名字或标记分数:
复制代码 代码如下:
现在,如果块初执行,switch case 将打印学生姓名,否则它将打印学生固定的标记。 如果这两个条件都失败了,将执行默认块。
枚举与原始值
原始值可以是字符串,字符,或任何整数或浮点数类型。每个原始值必须在其枚举声明中是唯一的。当整数用于原始值,如果指定的一些枚举成员没有任何值,它们会自动递增。
enum Month: Int {
case January = 1, February, March, April, May, June, July, August, September, October, November, December
}
let yearMonth = Month.May.rawValue
println("Value of the Month is: \(yearMonth).")
当我们上面的程序使用 playground 运行,我们得到以下结果:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
方法在Swift中特定类型的相关联功能被称为方法。在ObjectiveC中类是用来定义方法,其中作为Swift语言为用户提供了灵活性,类,结构和枚举中可以定义使
详解Swift中对C语言接口缓存的使用以及数组与字符串转为指针类型的方法由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以
一、引言在Objective-C语言中,没有实际上是整型数据,Swift中的枚举则更加灵活,开发者可以不为其分配值类型把枚举作为独立的类型来使用,也可以为其分配
前言在Swift中,枚举是一个非常方便也非常强大的类型。我们在日常使用中也经常会使用到它。例如,我们最常见的optional:enumOptional{case
验证一个实例的类型'类型转换'在Swift语言编程中。它是用来检查实例类型是否属于特定超类或子类或其自己的层次结构定义。Swift类型转换提供两