计算属性和存储属性和懒加载

import UIKit

//没有成员变量    都是属性

class Person: NSObject {

//计算属性:给属性提供get方法 封装其他属性的方法  不能设置值

//private 表示当前类访问 其他文件无法访问

private var _name: String?

var name: String? {

get {

return _name

} set {

//

_name = newValue

}

}

//只读计算属性  给属性提供get方法 封装其他属性的方法  不能设置值

var title: String? {

get {

return "我叫\(name)"

}

}

//只读计算简写

var title1: String? {

return "我叫\(name)"

}

//可选属性,必选属性,也叫做存储属性 取值和存值都是操作本身,没有get和set

var address: String?

var address1: String = ""

/*

计算属性操作的是其他属性,不需要开辟,设置的是其他资源,每次都会调用get方法

存储属性操作的是本身,需要开辟内存空间,只需要计算一次,下次获取之从内存中

*/

lazy var title3: String? = {

return "我叫\(self.name)"

}()

//懒加载和只读计算属性和很像

}


//可选属性  属性初始化两种方式,直接等号右边 或者重写构造函数

var name: String?


lazy var person1: Person = Person()

//第一次使用的时候会进行初始化

lazy var person2: Person = {() -> Person in

let person = Person()

person.name = "哈哈"

return person

}()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容