swift易漏点
2018-06-14 本文已影响12人
test158888
- 类型属性是通过类型本身来访问,而不是通过实例
- willSet 观察器会将新的属性值作为常量参数传入,在 willSet 的实现代码中可以为这个参数指定一个名称,如果不指定则参数仍然可用,这时使用默认名称 newValue 表示。
同样,didSet 观察器会将旧的属性值作为参数传入,可以为该参数命名或者使用默认参数名 oldValue。
如果在 didSet 方法中再次对该属性赋值,那么新值会覆盖旧的值。
- willSet 在新的值被设置之前调用
- didSet 在新的值被设置之后立即调用
-
注意
父类的属性在子类的构造器中被赋值时,它在父类中的 willSet 和 didSet 观察器会被调用,随后才会调用子 类的观察器。在父类初始化方法调用之前,子类给属性赋值时,观察器不会被调用。
- 使用关键字 static 来定义类型属性。在为类定义计算型类型属性时,可以改用关键字 class 来支持子类对父类的实现进行重写
- 在方法的 func 关键字之前加上关键字 static,来指定类型方法。类还可以用关键字 class 来允许子类重写父类的方法实现。
- 在 Swift 中,所有的基本类型:整数(Integers)、浮点数(floating-point numbers)、布尔值(Booleans)、字符串(strings)、数组(arrays)和字典(dictionaries),都是值类型,结构体和枚举类型都是值类型并且在底层都是以结构体的形式所实现。
- 默认情况下,值类型的属性不能在它的实例方法中被修改。