Swift教程第二章(3)–Swift基础
类和结构体、指针、属性
##类和结构体
###定义
###类和结构体实例
###属性访问
使用.
访问类或结构体中的属性
###结构体类型的构造器
与结构体不同,类实例没有默认的构造器
###结构体和枚举是值类型
结构体、枚举总是通过被复制的方式在代码中传递
var cinema = hd
传递的时hd的拷贝,对cinema的修改不影响hd的属性,枚举也遵循此规则
###类是引用类型
引用类型在被富裕到一个变量,常量或者被传递到一个函数时,操作的是实例本身而不是其拷贝
##恒等运算符
===
(!==
)表示连个类类型(class type)的常量或者变量引用同一个类实例
==
(!=
)表示两个实力的值“相等”或“相同”,判定时要遵照类设计者定义的评判标准
##指针
Swift中使用其他语言指针时,与其他的变量或常量定一方是相同
###集合(Collection)类型的复制和拷贝行为
Swift中数组(Array)和字典(DIctionary)类型均以结构体的形式实现
字典类型被复制的是对象的拷贝
数组类型被复制的时对象的引用,当改变数组结构时(添加或移除一个元素)会在原数组的拷贝对象上操作
数组对象上调用unshare()
方法可以使此对象编程一个为一个拷贝
##属性
###属性的延迟初始化
使用@lazy
表示一个延迟初始化的属性
###属性的get/set
set中默认使用newValue代替新输入的对象
###只读属性
###属性监视器
willSet
在设置新值之前被调用(值默认表示为newValue)
didSet
在设置新值之后被调用(值默认表示为oldValue)
###静态属性
使用static
标注的变量类型