枚举(Enumerations)

在 Swift 中,枚举类型是一等(first-class)类型。它们采用了很多在传统上只被类(class)所支持的特性,例如计算型属性(computed properties),用于提供枚举值的附加信息,实例方法(instance methods),用于提供和枚举值相关联的功能。枚举也可以定义构造函数(initializers)来提供一个初始值;可以在原始实现的基础上扩展它们的功能;还可以遵守协议(protocols)来提供标准的功能。

枚举语法
enum CompassPoint {
case North
case South
case West
case East
}

使用case关键字来定义一个新的枚举成员值。

注意与 C 和 Objective-C 不同,Swift 的枚举成员在被创建时不会被赋予一个默认的整型值。在上面的CompassPoint例子中,North
,South,East和West不会被隐式地赋值为0,1,2和3。相反,这些枚举成员本身就是完备的值,这些值的类型是已经明确定义好的CompassPoint类型。

多个成员值可以出现在同一行上,用逗号隔开:

enum Planet { 
case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}

每个枚举定义了一个全新的类型。像 Swift 中其他类型一样,

它们的名字(例如CompassPoint和Planet)应该以一个大写字母开头。给枚举类型起一个单数名字而不是复数名字,

以便于读起来更加容易理解:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。 如果你熟悉 C 语言,...
    雨影阅读 2,905评论 0 0
  • 枚举为一组相关的值定义了一个共同的类型,可以在代码中以类型安全的方式来使用这些值。 不必给每一个枚举成员提供一个值...
    松哥888阅读 4,130评论 0 0
  • 枚举是啥我就不多说了。Swift中的枚举更灵活,并且不必给每个枚举成员赋值。如果给枚举成员赋值(称为『原始』值),...
    Mustard_Buli阅读 3,803评论 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,463评论 1 10
  • 什么是线程(线程)? 进程中的所有线程具有相同的内存视图 假设你正在读一本书,你现在想休息一下,但是你想要能够从你...
    82a40c099d10阅读 2,444评论 0 0

友情链接更多精彩内容