• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 

 


博文作者:GarveyCalvin

博文出处:http://www.cnblogs.com/GarveyCalvin/

本文版权归作者和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
算法与数据结构(十一) 平衡二叉树(AVL树)(Swift版)发布时间:2022-07-13
下一篇:
【Swift】UIAlertController使用发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap