Swift学习-枚举(Enumerations)的使用方法

Swift学习-枚举的使用方法

枚举的使用语法:

enum someEnumer {
    // 枚举的成员值
}

以下是方向的一个例子:

enum direction {
    case Up
    case Down
    case Left
    case Right
}

以下摘自Swift 中文翻译组

注意:

不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值。在上面的CompassPoints例子中,North,South,East和West不是隐式的等于0,1,2和3。相反的,这些不同的枚举成员在CompassPoint的一种显示定义中拥有各自不同的值。

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

enum Name {
    case Kerry, John, Jully, Sally
}

我们可以这样取值:

var someBodyName = Name.John

someBodyName的类型为已知,我们可以不用写类型名,使用 .成员值 赋值即可:

someBodyName = .Jully

匹配枚举值和Switch语句:

switch someBodyName {
case .Kerry:
    println("is kerry")
case .John:
    println("is john")
case .Jully:
    println("is jully")
case .Sally:
    println("is sally")
}

注意:如果我们没有把所有值都匹配时,我们需要加一个Default默认值,不然编译会报错。

当不需要匹配全部成员值时,我们需要使用default分支:

switch someBodyName {
case .Kerry:
    println("is kerry")
default:
    print("is somebody name")
}

*原始值:

//以下摘自Swift 中文翻译组
原始值可以是字符串,字符,或者任何整型值或浮点型值。每个原始值在它的枚举声明中必须是唯一的。当整型值被用于原始值,如果其他枚举成员没有值时,它们会自动递增。

以下是原始值的一个例子。在枚举里也可以定义方法:

enum age: Int {
    case Young = 0, Child, Old, NoOne

    func toAge() -> String {
        // 对自身的原始值进行判断时,使用SELF
        switch self {
        case .Young:
            return "young"
        case .Child:
            return "child"
        case .Old:
            return "old"
        default:
            return "default"
        }
    }
}

使用枚举成员的toAge方法可以访问该枚举成员的原始值:

let other = age.Young.toAge()// other: young
时间: 2024-11-05 18:26:21

Swift学习-枚举(Enumerations)的使用方法的相关文章

swift学习——枚举

swift枚举 1. 枚举基本语法 enum Method { case Add case Sub case Mul case Div } 也可以使用一种更简单的写法 enum Method1{ case add, div,mul,sub } 2. swift匹配枚举值 func chooseMethod(op :Method) ->(Double , Double) ->Double { switch op { //.Add其实就是Method.Add case .Add: func add

Swift学习笔记-枚举(Enumerations)

本页内容包含: 枚举语法(Enumeration Syntax) 匹配枚举值与Swith语句(Matching Enumeration Values with a Switch Statement) 相关值(Associated Values) 原始值(Raw Values) 递归枚举(Recursive Enumerations) 枚举定义了一个通用类型的一组相关值,使你可以在你的代码中以一种安全的方式来使用这些值. 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举将枚举名和一个整型值相对

Swift学习——A Swift Tour 枚举和结构体

Enumerations and Structures Enumerations   枚举的使用 使用 enum 定义一个枚举,枚举里面可以关联方法,比如下文中的描述方法 enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { ca

Swift学习笔记(14)--方法

1.分类 方法分为实例方法和类型方法 实例方法(Instance Methods):与java中的类似,略 类型方法(Type Methods):与java.oc中的类方法类似.声明类的类型方法,在方法的func关键字之前加上关键字class:声明结构体和枚举的类型方法,在方法的func关键字之前加上关键字static. 方法的参数名参见学习笔记的函数章节 2.在实例方法中修改值类型和self 结构体和枚举是值类型.一般情况下,值类型的属性不能在它的实例方法中被修改. 但是,如果你确实需要在某个

Swift学习】Swift编程之旅---方法(十五)

在Swift中结构体和枚举也能够定义方法,而在 Objective-C 中,类是唯一能定义方法的类型. 实例方法 实例方法是属于某个特定类.结构体或者枚举类型实例的方法,实例方法提供访问和修改实例属性的途径,实例方法的语法与函数完全一致.实例方法能够隐式访问它所属类型的所有的其他实例方法和属性.实例方法只能被它所属的类的某个特定实例调用.实例方法不能脱离于现存的实例而被调用. class Counter { var count = 0 func increment() { count++ } f

The Swift Programming Language-官方教程精译Swift(9) 枚举-- --Enumerations

枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值. 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举指定相关名称为一组整型值.Swift 中的枚举更加灵活,不必给每一个枚举成员(enumeration member)提供一个值.如果一个值(被认为是“原始”值)被提供给每个枚举成员,则该值可以是一个字符串,一个字符,或是一个整型值或浮点值. 此外,枚举成员可以指定任何类型的关联值存储到枚举成员值中,就像其他语言中的联合体(unions)和变体(varian

Swift 2.0特有的枚举函数的实现方法和调用方法

一. //枚举网络访问错误 //swift 中枚举可以定义函数和属性 private enum GFFNetworkError: Int { case emptyDataError = -1 case emptyTokenError = -2 //错误描述 private var errorDescription: String { switch self { case .emptyDataError: return "空数据" case .emptyTokenError:return

Swift学习——变量var和let常量的使用方法(一)

Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的,并不是数据类型 例如: 注意每个语句后面不用加分号 var i:double=10.0 //将i指为double类型的,变量名后面加个冒号 var i = 10 // 如果不指定类型的话,系统会自动根据你的赋值来判断类型 i = 15 //正确的写法 (2)let 是常量的意思,不可改变的 例如: let name:String = "J

Swift 学习- 09 -- 枚举

// 递归枚举 // 美家居为一组相关的值定义了一个共同的类型, 使你可以在代码中以类型安全的的方式使用这些值. // 如果你熟悉C语言, 你会知道在C语言中, 枚举会为一组整型值分配相关联的名称, swift 中的枚举更加的灵活, 不必给每一个枚举成员提供一个值,如果给枚举成员提供一个值 (称为原始值), 则该值的类型可以是字符串,字符, 或者是一个整型值或浮点数, // 此外, 枚举成员可以指定任意类型的关联值存储到枚举成员中, 你可以在一个枚举中定义一组相关的枚举成员, 每一个枚举成员都可