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

swift枚举

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

枚举不是类型..而是值.枚举定义了一个通用类型的一组相关的值 什么时候用枚举?
一组通用类型,用枚举..需要存储可能会改变的数据使用相关值..存储唯一且不变的值使用原始值
通用类型:
方向 : 枚举成员类型本身就不同..所以不需要值
码,条形码,二维码:都是码,枚举成员类型不同,但需求每个码中存储值...相关值

枚举的值:
1.可以再枚举中存储可以改变的相关值..
2.枚举成员可以被默认值(称为原始值)预先填充,其中这些原始值具有相同的类型。每个原始值在它的枚举声明中必须是唯一的。当整型值被用于原始值,如果其他枚举成员没有值时,它们会自动递增。
原始值和相关值是不相同的。当你开始在你的代码中定义枚举的时候原始值是被预先填充的值,像上述三个 ASCII 码。 对于一个特定的枚举成员,它的原始值始终是相同的。 相关值是当你在创建一个基于枚举成员的新常量或变量时才会被设置,并且每次当你这么做得时候,它的值可以是不同的。
enum CompassPoint {
  case North
  case South
  case East
  case West
}

不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值
。在上面的CompassPoints例子中,North,South,East和West不是隐式的等于0,1,2和3。
相反的,这些不同的枚举成员在CompassPoint的一种显示定义中拥有各自不同的值。
每个枚举定义了一个全新的类型。像 Swift 中其他类型一样,它们的名字(例如CompassPoint和Planet)必须以一个大写字母开头。
给枚举类型起一个单数名字而不是复数名字
directionToHead的类型被推断为CompassPoint的一个可能存在的类型,值为该枚举类型的值.当被定义后,可以使用.+枚举类型.进行修改其类型

var directionToHead = CompassPoint.West  //CompassPoint?
directionToHead = .East


//相关值
enum Barcode {
  case UPCA(Int, Int, Int)
  case QRCode(String)
}
var productBarcode = Barcode.UPCA(8, 85909_51226, 3)
productBarcode = .QRCode("ABCDEFGHIJKLMNOP")


//原始值
enum ASCIIControlCharacter: Character {
    case Tab = "\t"
    case LineFeed = "\n"
    case CarriageReturn = "\r"
}
enum Planet: Int {
    case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}

鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
使用纯swift代码文件制作framework发布时间:2022-07-13
下一篇:
oc调用swift的打包.a/framework不成功?!发布时间: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