枚举值

作者: Harely | 来源:发表于2019-12-29 13:39 被阅读0次
enum WeekDay {

   case Monday

   case Tuesday

   case Wednesday

   case Thursday

   case Friday

   case Saturday

   case Sunday

}
func enumTest () {
    let day:WeekDay = .Wednesday

    switch day {
    case .Wednesday:
        print("今天是星期三")
        
    case .Saturday:
        print(":)")
        
    case .Sunday:
        print(":)")
        
    default:  //使用枚举表示来表示其它的选项,否则编译can't 通过
        print(":(")
     
    }
}

//调用
self.enumTest()

打印:
今天是星期三
  但是这样会报出一个丑陋的黄色警告⚠️:Switch condition evaluates to a constant,这可能是编译器认为变量在函数内部是不变造成的。可以把这个变量作为类的常量属性就不会报错了。

class ViewController: UIViewController {
      let day:WeekDay = .Wednesday
}

  如果没有default我们需要把枚举的每一项都要列举出来,否则会编译不通过,所以我们可用default来进行偷懒,来表示其他case情况。


枚举关联值

**关联值**:枚举的枚举项每一个都有附加信息,来扩充这个枚举项的信息表示,如下:

enum Shape {
 
    case Rectangle(CGRect)

    case Circle(CGPoint,Int)
 
}

枚举原始值

枚举原始值:每一个枚举项提供一个默认值,这个默认值是在编译的时候就确定的。

enum WeekDayWithRaw : String {  //后面有一个String,表示是一个字符串类型的枚举
 
    case Monday = "1. Monday"

    case Tuesday = "2. Tuesday"

    case Wednesday = "3. Wednesday"

    case Thursday = "4. Thursday"

    case Friday = "5. Friday"

    case Saturday = "6. Saturday"

    case Sunday = "7. Sunday"
 
}

通过原始值进行初始化:

let day = WeekDayWithRaw(rawValue: "3. Wednesday") //是一个可选的枚举,也就是Optionals 的类型
       
if let tday = day {
   print("这个 day 是: \(tday)")
}else{
   print("init fail")
}

打印
这个 day 是: Wednesday

枚举输出

let day = WeekDayWithRaw.Saturday.rawValue
print("这个 day 是: \(day)")

打印:
这个 day 是: 6. Saturday



初始化不存在的值,用可选判定

let day = WeekDayWithRaw(rawValue: "No Exist Value")
if let thisDay = day {
    print("this day is: \(thisDay)")
}else {
    print("不知是何年何月")
}

相关文章

  • Swift与OC的语法简单对比(常用语法二)

    20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...

  • 枚举类

    1.枚举类型的定义: 枚举类型定义的一般形式为 enum 枚举名{//枚举值表枚举值1;枚举值2;...} 在枚举...

  • Swift-枚举名、枚举值的相互转化

    通过枚举名获取到枚举值 或者 通过枚举值获取到枚举名称 .End

  • Swift 2 学习笔记 10.枚举

    课程来自慕课网liuyubobobo老师 枚举 枚举基础 枚举之原始值 枚举之关联值 枚举递归

  • Swift 5 枚举

    枚举 关联值: 枚举的成员值和其他类型的值关联储存,存储在枚举变量中 原始值: 枚举成员使用相同的默认值预先对应,...

  • 枚举

    枚举 本节内容包括: 枚举语法 匹配枚举值与switch语句 相关值 原始值 枚举语法 注意:不像 C 和 Obj...

  • 枚举 函数 结构体 类

    import Foundation //枚举 /* enum 枚举名:值类型 { case 枚举情况 = 初始值 ...

  • swift中的枚举

    枚举有默认值 原始值不占用枚举内存 关联值

  • go 枚举类型

    这里需要用到enum库 定义一个枚举类型 操作枚举enum 查看枚举值 修改自定义枚举值 添加和移除枚举值

  • swift基础——枚举

    枚举的基本用法 枚举的名称建议大写开头,成员名小写开头 枚举定义 枚举值使用 关联值 有时会将枚举的成员值跟其他类...

网友评论

      本文标题:枚举值

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