枚举-创新互联

Swift中枚举的格式如下:

十多年的金湾网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整金湾建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“金湾网站设计”,“金湾网站推广”以来,每个客户项目都认真落实执行。

    enum 枚举名{

        枚举的定义

}

    1、成员值

 在枚举类型中定义一组成员,与C和Object-C中枚举的主要作用是一样的,在C和Object-C中的成员类型是整数类型,因此在C和Object-C中枚举类型就是整数类型,而在Swift中,枚举的成员值默认类型下不是整数类型,枚举的成员值默认情况下不是整数类型,以下代码是枚举的示例:

 enum WeekDays{
            case Monday
            case Tuesday
            case Wednesday
            case Thursday
            case Friday
}

    其中定义了五个成员值:Monday....Friday,这些值都不是整数类型

    多个成员值在同一行,用逗号隔开,如下所示:

    enum WeekDays{

    case Monday,Tuesday,Wednesday,Thursday,Friday

}

    示例代码如下:

    var day = WeekDays.Friday
    day = WeekDays.Wednesday
    day = Monday
func writeGreeting(day : WeekDays){
 switch day{
        case Monday:
            println("星期一好")
        case Tuesday:
            println(“星期二好”)        
        case Wednesday:
            println(“星期三好”)         
        case Thursday:
            println(“星期四好”)        
        case Friday:
            println(“星期五好”)
}
}

    2、原始值

    可以为枚举每个成员提供特定类型的默认值,可以为枚举类型提供原始值声明,这些原始值类型可以是:字符、字符串、整数和浮点数等

    原始值枚举的语法如下:

    enum 枚举名:数据类型{

        case 成员名=默认值

}

    示例:

enum WeekDays:Int{
    case Monday = 0
    case Tuesday=1
    case Wednesday=2
    case Thursday=3
    case Friday=4
}

    每个成员赋值,只要是Int类型就可以,但是每个分支不能重复,

    简单写法,只需原始第一个成员赋值即可,后面的成员会依次加1

    enum WeekDays:Int{
        case Monday =0,Tuesday,Wednesday,Thursday,Friday
}

        从成员到原始值

        let  friday = WeekDays.friday.rawValue

        从原始值到成员

        let thursday = WeekDays(rawValue:4)

    3、相关值

            在Swift中除了可以定义一组相关值,它有点类似于C中的联合类型

            下面有一个枚举类型的声明:

            enum Figure{
                case Rectangele(Int,Int)
                case Circle(Int)
}

        枚举类型Figure有2个相关值,Rectangle 和 Circle,这2个是与Figure有关联的相关值,只能是其中一个相关值。

        示例

    func printFigure(figure:Figure){
            switch figure{
                case .Rectangle(let width,let height):
                        println("\(width):\(height)")
                case Circle(let radius):
                        println("\(radius)")
        
}
}
        var figure = Figure.Rectangle(10,20)
        printFigure(figure)
        var figure1 =Figure.Circle(20)
          printFigure(figure1)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:枚举-创新互联
文章链接:http://scyanting.com/article/dsgieh.html