类的构造器
class ZS {
var name : String?
init() {
name = "张帅"
}
init(name: String) {
self.name = name
}
//析构 与之前写OC中的dealloc功能一样
deinit {
name = nil
}
}
//默认构造器
var zs = ZS()
//调用了重写的构造方法
var zs1 = ZS(name: "帅不")
zs1.name!
定义结构体:
struct Length {
//在Swift中可以对变量初始化
var start : Float = 0.0
var end : Float = 0.0
//在Swift中可以定义方法
func callLength() {
println(self.start - self.end)
}
}
//调用了默认的构造器 init
var length = Length()
//点语法访问元素
length.start = 7.0
length.end = 3.0
length.callLength()
//逐一构造器, 只有结构体有逐一构造器,类没有
var len = Length(start: 3.0, end: 9.9)
func callLength(length:Length) {
println(length.start - length.end)
}
callLength(length)
//类型属性
//在结构体中使用static来声明类方法,类属性
//在类方法中使用class 来声明 类方法
struct Stu {
static var xiaowang = "小王"
static func sayHi() {
println("Hi, xiaowang")
}
}
Stu.xiaowang
Stu.sayHi()
class Stu1 {
var xiaoming = "xiaoming"
class func sayHi() {
println("Hi, xiaoming")
}
}
var stu1 = Stu1()
stu1.xiaoming
Stu1.sayHi()
/******************************************/
//结构体 -> 值类型
// 当值类型被赋予一个变量,常量/本身函数,实际上是值拷贝
length //{start 7.0, end 3.0}
let length1 = length //{start 7.0, end 3.0}
length.start = 11 //{start 11.0, end 3.0}
length1 //{start 7.0, end 3.0}
//类 -> 引用类型
//当引用类型被赋予一个变量, 常量 / 或者用于函数传递的时候,它的操作是引用,而不是拷贝.因此,他引用的是已存在的实例对象本身而不是其拷贝对象
car //{{Some "大众