美文网首页
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学习:结构和枚举

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