美文网首页
Swift学习:结构和枚举

Swift学习:结构和枚举

作者: 逸飞u | 来源:发表于2016-04-06 20:09 被阅读11次

1.结构 struct

1.1.Struct 与 Class

  • 相同点

    • 都可以定义:属性\方法\下标\初始化器
    • 都支持类型扩展\协议
  • 不同点

Struct Class
值类型 引用类型
不支持面向对象 支持面向对象
定义轻量级数值类型 设计丰富关系的组件系统
有传参拷贝成本 有 ARC 管理成本
不支持继承和多态 支持继承和多态
有默认成员初始化器 必须自己定义初始化器
不支持析构器 支持析构器
实例在栈上,不参与 ARC 实例在堆上,由ARC 负责释放
不支持引用相等比较 支持引用相等比较

注意:不要在 struct 内定义引用类型属性

2.枚举 enum

2.1.用于定义一组相关的值成员

enum Color1{
    case Red
    case Blue
    }

enum Color2{
    case Red,Blue
}

var c1 = Color1.Blue
var c2:Color2
c2 = .Red

2.2.属于值类型,具有拷贝语义
2.3.可以用 switch-case(必须包括所有值 或者 default:)
2.4.可以指定原始值

enum WeekDay:Int{
   case Monday = 1,Tuesday
}

var c1 = Color1.Blue
var c2:Color2
c2 = .Red


var day:WeekDay?
day = WeekDay(rawValue: 2)
var data = WeekDay.Tuesday.rawValue

2.5.支持关联值
2.6.可以定义:计算属性/方法/初始化器

相关文章

  • swift学习笔记③

    Swift学习笔记 - 文集 语法篇 枚举 Swift 的枚举类似于 Objective C 和 C 的结构,使用...

  • 【Swift语言】枚举,类和结构体

    参考资料: Getting to Know Enums Swift学习之枚举、类和结构 The Swift Pro...

  • Swift学习:结构和枚举

    1.结构 struct 1.1.Struct 与 Class 相同点都可以定义:属性\方法\下标\初始化器都支持类...

  • Subscripts(下标)

    //离上次学习swift过了好久,这才刚开始学习swift呀,坚持。 //下标//“下标可以定义在类、结构体和枚举...

  • Swift-方法

    在Swift中,类,结构体,枚举,都能定义实例方法。 结构和枚举可以在Swift中定义方法的事实是与C和Objec...

  • swift3.0- 枚举

    Swift枚举 Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样...

  • 枚举

    Swift枚举:Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样...

  • Swift枚举

    枚举简单认识 Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样增...

  • Swift枚举和结构

    枚举 枚举中,成员值是一般是字符类型(不带引号),原始值则可以为Int、Double、String等等 枚举的三个...

  • 10 结构体和类 —— 《Swift3.0 从入门到出家》

    10 结构体和类 - —— 《Swift3.0 从入门到出家》 结构体和类 Swift中的面向对象5个要素:枚举、...

网友评论

      本文标题:Swift学习:结构和枚举

      本文链接:https://www.haomeiwen.com/subject/gijmlttx.html