Swift学习(类和结构体补充)

类的构造器

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 "大众
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值