swift结构体

结构体

结构体是用来封装类型相同或者不同的数据。Swift中的结构体是一类类型,可以定义属性和方法,甚至构造函数和析构方法。

格式:

stuct 结构体名称 {
    结构体属性和方法
}

eg:

struct Size {
    var width:Double = 0.0
    var heigh:Double = 0.0
}

// 如果结构体的属性有默认值, 可以直接使用()构造一个结构体
// 如果结构体的属性没有默认值, 必须使用逐一构造器实例化结构体
var size = Size(width: 20, heigh: 30)
size.width = 04

结构体构造器

  1. Swift中的构造体和类和其他面向对象语言一样都有构造器,但OC没有。
  2. Swift要求实例化一个结构体或类的时候,所有的成员变量都必须有初始值, 构造函数的意义就是用于初始化所有成员变量的, 而不是分配内存, 分配内存是系统帮我们做的.
  3. 如果结构体中的所有属性都有默认值, 可以调用()构造一个结构体实例
  4. 如果结构体中的属性没有默认值, 可以自定义构造器, 并在构造器中给所有的属性赋值
    其实结构体有一个默认的逐一构造器, 用于在初始化时给所有属性赋值

结构体的成员方法

在C和OC中的结构体只有属性,Swift中的结构体中可以定义方法。

struct Size {
    var width:Double = 0.0
    var heigh:Double = 0.0

    func getWith() -> Double {
        return width
    }

    func showInfo() -> Void {
        print("width: (width) heigh: (heigh)")
    }
}