zoukankan      html  css  js  c++  java
  • SWIFT Enumeration(1)

    Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration

    enum Day:Int{

        case Monday = 1, Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday

    }

    Monday赋值为1其它值则按顺序自动赋值,也是一种比较简便的写法,当然也可以为每个属性赋值

    enum Day:Int{

        case Monday = 1

        case Tuesday = 2,

        case Wednesday = 3,Thursday,Friday,Saturday,Sunday

    }

    let myday = Day.Sunday //自动推测为Day类型的Enumeration

    let dayNumber = Day.Sunday.rawValue //值为7

    以下定义一个String类型的Enumeration

    enum Period:String{

        case Morning = "Morning"

        case Noon = "Noon"

        case AfterNoon = "Afternoon"

        case Night = "Night"

        case MidNight = "MidNight"

    }

    Enumeration还有一个很强大的功能叫关值

    enum AgeStatus{

        case Legal

        case NoOldEnought(Int)  //关联值

        

        init(){

            self = Legal //default value

        }

        

        var description:String{

            switch self{

            case Legal:

                return "Age is legal"

            case NoOldEnought(let a):

                return "Age (a) is illegal"

            default:

                return "Age is illegal"

            }

        }

    }

    var sheAgeStatus = AgeStatus()

    sheAgeStatus.description  //Age is legal

    sheAgeStatus = AgeStatus.NoOldEnought(10)

    sheAgeStatus.description // return Age 10 is illegal

    Enumeration中还可以定义方法,在上面添加以下方法代码:

    func reportStatus() ->String{

            return self.description

     }

    调用方法:

    sheAgeStatus.reportStatus() 

  • 相关阅读:
    C#类型转换
    C#面向对象之多态
    C#面向对象之继承
    C#各种字段类型对比
    C#关键字:static
    C#面向对象之封装
    C#关键字:访问修饰符
    C#类型成员:构造函数
    C#类型成员:方法
    C#类类型
  • 原文地址:https://www.cnblogs.com/foxting/p/4396779.html
Copyright © 2011-2022 走看看