swift学习笔记之枚举


//枚举类型 ==成员+计算属性,类型属性+下标脚本+方法
//enum 的关键字不能省略
//1>定义任意类型的枚举成员

enum anyEnum{
    case North(Int)
    case South(String)
    case East(Double)
    case West(String)
}
//North 可以赋值任意类型

//2>指定类型的枚举成员
enum Derication {
    case North
    case South(Int)
    case East
    case West
}
//North 只能字符串
//3.可以初始化枚举成员的值,但是原始值必须是唯一的,不能相同
//4必须定义成员 ,不能一个成员也没有

//注意1case不能省略 2 可以一个case 多个成员,写成一行
enum Derication1:String {
    case North,South,East,West
}

//5实例化枚举类型的对象
// let/var 枚举对象=枚举类型.成员名

let newVlaue=Derication1.North

//6.访问枚举类型中成员的原始值

  //1>let str=Derication1.North.rawValue
  //2>自动自增 ,如果North不设置值 为 0,1,2

enum Derication2:Int {
    case North=3
    case South//4
    case East//5
    case West//6
}
  //3 通过原始值获取成员
enum Zoo:Int {

    case Dog=5
    case Cat=10
    case Pig=20
}

let ace=Zoo.Dog
let dogRawValue=ace.rawValue
print(dogRawValue)

//判断 获取成员所对应的值(待查找问题)
//if let convertedZoo = Zoo.fromValue {
//
//}

//7枚举成员与swithch匹配

switch ace {

case .Dog:
    print("Dog")
case .Cat:
    print("Cat")
default:  //default不能省
    print("Pig")

}

//8成员关联值

let mySouth = Derication.South(100)
//注意  @1.个数@数据类型 @3指定数据类型的枚举类型不需要关联值

//9定义计算属性,类型属性,属性监视器  枚举对象名.属性
//10 可以定义下标脚本 成员[index]
//枚举里可以定义方法 @1 成员.方法名
//                @2 类型方法 方法前加staic  枚举类型名.方法名(参数)



//类.枚举类型,结构的区别
//1>类是引用类型 ,支持继承
//2结构和枚举类型 是值类型 ,不支持继承 ,
//3三种可以相互嵌套
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值