swift学习笔记之枚举

原创 2016年05月30日 10:56:48

//枚举类型 ==成员+计算属性,类型属性+下标脚本+方法
//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三种可以相互嵌套
版权声明:版权所有,不得转载

Swift学习笔记之枚举

相关值 - Associated ValuesSwift 中的相关值有点像是 F# 中的 Discriminated Unions,它允许在枚举中存储额外的数据。比如这样一个网络请求结构体,POST ...
  • Quzhiyu_rjgcs
  • Quzhiyu_rjgcs
  • 2015年08月13日 09:23
  • 342

swift 枚举详解

参考博客:http://c.biancheng.net/cpp/html/2426.html 参考官方文档:https://developer.apple.com/library/ios/docum...
  • HHL110120
  • HHL110120
  • 2016年04月14日 17:32
  • 702

二十二 Swift3.0之 枚举

/* Swift枚举: Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法 格式: enum Method{ case 枚举值 }...
  • gezi0630
  • gezi0630
  • 2017年04月08日 17:01
  • 2722

Swift 中枚举高级用法及实践

title: "Swift 中枚举高级用法及实践" date: 2015-11-20 tags: [APPVENTURE] categories: [Swift 进阶] permalink: ...
  • imxiangzi
  • imxiangzi
  • 2016年05月04日 17:07
  • 11411

Swift 枚举(七)

枚举 1.枚举语法 用enum并把定义放在大括号内,枚举中被定义的值是枚举的成员,case关键字表示新定义的一个成员 enum SomeEnumeration {     // enu...
  • huangchentao
  • huangchentao
  • 2014年06月20日 16:09
  • 3909

swift 传入多个枚举类型 '|'

看以前的oc代码 很多传入多个枚举类型的时候会用| , 比如:UIRectCorner corners = UIRectCornerTopRight | UIRectCornerBottomRig...
  • u010586842
  • u010586842
  • 2015年09月08日 08:56
  • 2490

在Swift里两个枚举值一起使用的方法

在OC里我经常会用到两个枚举属性一起当成参数传入方法里使用: [label addObserver:self forKeyPath:@"text" options:NSKeyValueObserv...
  • PianZhideNanRen
  • PianZhideNanRen
  • 2016年10月25日 17:46
  • 1843

swift关于枚举 字典 集合的一些整理

import Foundation //[1]字典 //字典时集合类型 存放多个键值对 //字典中键是唯一的 不能重复 //字典中存放的键值对是无序的写入的顺序于读出的顺序可能不同 //字典中存放的数...
  • u012368971
  • u012368971
  • 2016年08月18日 14:37
  • 1072

【Swift学习笔记00】——enumeration枚举类型遵循协议protocol

Apple官方文档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Pr...
  • duanyipeng
  • duanyipeng
  • 2014年06月19日 19:54
  • 4641

Swift学习笔记 - 位移枚举的按位或运算

在OC里面我们经常遇到一些枚举值可以多选的,需要用或运算来把这些枚举值链接起来,这样的我们称为位移枚举,但是在swift里面却不能这么做,下面来讲解一下如何在swift里面使用 OC的位移枚举的区分/...
  • wang631106979
  • wang631106979
  • 2016年08月30日 15:16
  • 3685
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift学习笔记之枚举
举报原因:
原因补充:

(最多只允许输入30个字)