深入解析Swift编程中枚举类型的相关使用

前端技术 2023/09/06 IOS

枚举是由用户定义的数据类型的一组相关值。关键字 enum 用来定义枚举数据类型。

枚举功能
枚举在 swift 也类似于 C 和 Objective C 中结构类型

  • 它是在一个类中声明,其值是通过该类的实例来访问
  • 初始成员值是用枚举初始化定义的
  • 其功能也扩展确保标准的协议功能

语法
枚举引入 enum 关键字和一对大括号内将它们定义:

复制代码 代码如下:

enum enumname {
   // enumeration values are described here
}

例如,可以为星期定义枚举如下:
复制代码 代码如下:

enum DaysofaWeek {
   case Sunday
   case Monday
    ---
   case Saturday
}

示例
复制代码 代码如下:

enum names{
   case Swift
   case Closures
}
var lang = names.Closures
lang = .Closures
switch lang
{
   case .Swift:
   println(\"Welcome to Swift\")
   case .Closures:
   println(\"Welcome to Closures\")
   default:
   println(\"Introduction\")
}

当我们上面的程序使用 playground 运行,我们得到以下结果

Welcome to Closures

Swift 中的枚举不象 C 和 Objective C 分配其成员的默认值,相反,成员由它们枚举名称明确定义。枚举名称应该使用大写字母(例如:enum DaysofaWeek)。

复制代码 代码如下:

var weekDay = DaysofaWeek.Sunday

这里所述枚举名\'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\")
}

本文地址:https://www.stayed.cn/item/14990

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。