存储属性用来进行数据的存储, 需要分配内存空间。子类(无论是let var static修饰)不能直接重写存储属性。重写(Override)通常用于子类覆盖父类的方法、计算属性或观察者。
计算属性:用来定义计算的过程, 不需要分配空间.计算属性必须使用var关键字进行定义。
类型属性:用于定义某个类所有实例共享的数据。oc和swift都可以有类型属性。
oc需要添加属性关键字class定义类型属性(更像是通过调用属性来调用一个方法,比较像计算属性,oc中无法真正存储值。)
swift类型属性:使用static、 class来定义。static(不支持重写) class(支持子类重写)。
class HealthArticlesVC: BaseViewController {
// 存储属性
var age = 12
let name = "小花"
var ppName: String = { return "abc" }()
private let _searchTextField: UITextField = UITextField() //搜索
}
//计算属性 应用场景:一般用于获取现有属性加工和计算后的结果。
var petInfo:String{
get {
return "getbackName"
}
set (newInfo) {
print("\(newInfo)")
}
}
//类型属性
struct SomeStructure {
static var storedTypeProperty = "Some value."
static var computedTypeProperty: Int { return 1}
}
class SomeClass {
static var storedTypeProperty = "Some value."
static var computedTypeProperty: Int {
return 27
}
class var overrideableComputedTypeProperty: Int {
return 107
}
}