-
注意,didSet和willSet不会在初始化阶段调用。 因此,didSet和willSet对常量let没有意义,因为let只在初始化阶段赋值查看全部
-
属性初始化没赋初值的情况下必须在声明类型后加“!”或者“?”,虽然都是可选型,但: “!”表示属性的值可以暂时为nil,但使用的时候必须有值, “? ” 则表示暂时为nil,使用的时候可以是nil也可以有值。查看全部
-
属性观察器用来确认数据合法 didSet 观察器会将旧的属性值作为参数传⼊,可以为该参数命名或者使⽤默认参数名 oldValue。willSet 观察器会将新的属性值作为常量参数传⼊,默认名称 newValue 。 静态常量通常用于描述限制,如int.min、int.max。 调用didSet时,current已是新值。didSet(oldCurrent)可获取旧值。查看全部
-
类型方法(type method、静态方法),关键字static func 水平制表符 \t 单位矩阵主对角线元素均为1查看全部
-
static定义的属性是类型属性(type property)只能被类调用,不能被实例调用 在实例中调用类型属性时不能省略类名,实例属性的调用可以省略查看全部
-
get 获取 set 改变(赋值):(newCenter)可以被省略,在setter的{}中用默认名称newValue代替传入值 方法描述动作,计算型属性描述事物的特征。 对于不想被赋值的变量例如面积,可以只getter查看全部
-
计算型属性:根据存储型属性计算出的可变的属性。 (1)计算性属性必须声明为var; (2)必须显示声明类型。查看全部
-
(1)把结构体看作是值,把类看作是物体; (2)结构体是值类型,类是引用类型; (3)类是可以被继承的; (4)结构体(栈)比类(堆)更“轻量级”,从堆里寻找地址更慢。查看全部
-
尽管内存空间存储值一样,依然是两个不同的实例,指向不同的内存空间。查看全部
-
== 用于值类型比较 === 用于引用类型比较,判断两个引用类型是否指向同一空间(等价)查看全部
-
由于enum也是值变量,改变自身的方法需要声明为mutating。 函数是引用类型,自己可以修改自己。查看全部
-
结构体是值类型,改变一次产生一个副本,编译器无法处理这个副本,而mutating的作用就是告诉编译器用修改后的副本自动覆盖原来的。因此需要mutating来处理结构体自己修改自己时遇到的问题。查看全部
-
结构体中要想改变结构体实例的变量的值,实例和变量必须都是var类型。 在类中要想改变实例的变量的值,只要变量是var类型就可以,而实例可以是let。 let约束下的变量实例(即person指针是静态变量)只能指向初始化的那块存储空间,而对存储空间中的变量仍然能够进行修改。查看全部
-
类,函数,闭包是引用类型,相当于给变量起了个别名,两个变量都指向同一块内存空间查看全部
-
结构体,枚举是值类型,赋值即拷贝,不同对象在不同的内存空间查看全部
举报
0/150
提交
取消