美文网首页
Swift语法初探(枚举)

Swift语法初探(枚举)

作者: 世界未末日 | 来源:发表于2016-04-13 15:05 被阅读15次

Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果一个值(被认为是“原始”值)被提供给每个枚举成员,则该值可以是一个字符串,一个字符,或是一个整型值或浮点值。此外,枚举成员可以指定任何类型的相关值存储到枚举成员值中。

//定义枚举变量
enum MessageType{
case Text
case Notify
case Voice
case Video
}

//成员值也可以出现在同一行上,用逗号隔开
enum MessageType1{
case Text, Notify, Voice, video
}

//当变量的类型被声明为Messagetype,可以使用更短的点语法将其设置为另一个Messagetype的值
var recievedMessageType = MessageType.Notify
recievedMessageType = .Text

//匹配枚举值和Switch语句(代码比if语句更精炼)
switch recievedMessageType{
case .Text:
print("文本消息")
case .Notify:
print("通知消息")
case .Voice:
print("语音消息")
case .Video:
print("视频消息")
}

//---------------------------------------------------------------
//枚举的相关值:可以定义 Swift 的枚举存储任何类型的相关值,如果需要的话,每个成员的数据类型可以是各不相同的。
enum Barcode {
case UPCA(Int, Int, Int)
case QRCode(String)
}
//声明一个Barcode.UPCA类型的变量
var productBarcode = Barcode.UPCA(8, 85909_51226, 3)
productBarcode = .QRCode("ABCDEFGHIJKLMNOP")

//枚举和switch语句的匹配应用
switch productBarcode {
case .UPCA(let numberSystem, let identifier, let check):
print("UPC-A with value of (numberSystem), (identifier), (check).")
case .QRCode(let productCode):
print("QR code with value of (productCode).")
}

//---------------------------------------------------------------
//枚举的原始值可以是字符串,字符,或者任何整型值或浮点型值。每个原始值在它的枚举声明中必须是唯一的。当整型值被用于原始值,如果其他枚举成员没有值时,它们会自动递增。
enum Planet: Int {
case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}

//使用枚举成员的rawValue属性可以访问该成员的原始值
let earthOrder = Planet.Earth.rawValue

//通过原始值找到对应的枚举变量。返回的是一个可选值
let possiblePlanet = Planet(rawValue: 9)
if let possiblePlanet = Planet(rawValue: 9) {
switch possiblePlanet {
case .Earth:
print("地球")
default:
print("其他行星")
}
}else{
print("没有找到9号行星")
}

详细参考

相关文章

  • Swift语法初探(枚举)

    Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果一个值(被认为是“原始”值)被提供给每个枚举成员...

  • Swift Enumeration(斯威夫特枚举)

    Swift Enumeration(斯威夫特枚举) 目录:1、Enumeration Syntax(枚举语法)2、...

  • Swift 枚举(enum)详解

    Swift基础语法总结,来自苹果官方文档: 枚举(Enumeration) 枚举在Swift中是 first-cl...

  • swift学习笔记(二)

    继续记录swift知识点: 1)枚举 枚举语法: ** 和 C 和 Objective-C 不同,Swift 的枚...

  • swift学习笔记③

    Swift学习笔记 - 文集 语法篇 枚举 Swift 的枚举类似于 Objective C 和 C 的结构,使用...

  • Swift最新语法总结

    swift最新语法总结(函数) swift最新语法总结(枚举类型与结构体) swift最新语法总结(类的使用) s...

  • Swift语法--枚举

    待续。。。

  • swift学习笔记三

    一、枚举 1.枚举语法 和C语言和Objectect语言不同,swift语言的枚举不提供默认的整型值多个枚举成员在...

  • Swift5 基础教程与进阶合集

    Swift5 基础 Swift5 基础(一)Swift编译流程、基础语法、流程控制、函数、枚举[https://w...

  • Swift学习笔记四-枚举

    枚举语法(Enumeration Syntax) 注意:与C和OC不同,Swift的枚举成员在被创建时不会被赋予一...

网友评论

      本文标题:Swift语法初探(枚举)

      本文链接:https://www.haomeiwen.com/subject/bvowlttx.html