一.使用 可选链式 调用代替强制展开 //当声明一个属性时,将属性类型设置为可选类型: 好处: 当可选类型的属性被赋予初始值时,系统调用初始值;当可选类型属性没有赋予初始值时,系统只会调用失败;如果属性强制展开,就会崩溃 // 如果属性为一般类型,则必须赋予初始值 struct Point { var width : Int = 0 } class Person { var name : String = "" var age : Int? //可选类型, 可以不赋值 va
扩展就是向一个已有的类.结构体或枚举类型加入新功能(functionality).扩展和 Objective-C 中的分类(categories)相似.(只是与Objective-C不同的是,Swift 的扩展没有名字.)Swift 中的扩展能够:1.加入计算型属性和计算静态属性2.定义实例方法和类型方法3.提供新的构造器4.定义下标5.定义和使用新的嵌套类型 6.使一个已有类型符合某个协议 一.扩展属性.构造器,方法 class Human{ var name:String? var scor