类的介绍和定义
1.Swift 也是面向对象的语言,面向对象的基础是类,类产生的对象,那么Swift中如何定义类呢?
。class是Swift中的关键字用于定义类
Class 类名 : SuperClass{
//定义属性和方法
}
定义的类,可以没有父类.那么该类是rootClass
通常情况下,定义类时.继承自NSObject(非OC的NSObject)
如何定义类的属性
这里主要写下常用的存储属性好了
存储属性
存储属性是最简单的属性,它作为类实例的一部分,用于存储常量和变量
可以给存储属性提供一个默认值,也可以在初始化方法中对其进行初始化
下面是存储属性的写法
age和name都是存储属性,用来记录该学生的年龄和姓名
chineseScore和mathScore也是存储属性,用来记录该学生的语文分数和数学分数
class Person :NSObject{
var name :String?
var age :Int=0
var height :Double=0.0
let p =Person()
// 注意:赋值不是调用set方法,直接拿到属性给属性赋值
p.name = "why"
p.age=18
p.height = 1.88
}
监听属性的改变
在OC中我们可以重写set方法来监听属性的改变
Swift中可以通过属性观察者来监听和响应属性值的变化
通常是监听存储属性和类属性的改变.(对于计算属性,我们不需要定义属性观察者,因为我们可以在计算属性的setter中直接观察并响应这种值的变化)
我们通过设置以下观察方法来定义观察者
willSet:在属性值被存储之前设置。此时新属性值作为一个常量参数被传入。该参数名默认为newValue,我们可以自己定义该参数名
didSet:在新属性值被存储后立即调用。与willSet相同,此时传入的是属性的旧值,默认参数名为oldValue
willSet与didSet只有在属性第一次被设置时才会调用,在初始化时,不会去调用这些监听方法.
上述方法在实际开发中didSet方法用的较多,当然willSet也有用的时候。有不当的地方请多指教,只是个人学习总结下
网友评论