1.Swift中的get & set 方法
定義一個(gè)Person類
class Person: NSObject { //getter & setter 僅供演示,日常開發(fā)不用 var _name: String? var name: String? { get{ //返回成員變量 return _name; } set{ //使用 _成員變量 記錄值 _name = newValue; } }}2.只讀屬性 readonly,計(jì)算型屬性class Person: NSObject { var name: String? //OC中定義屬性的時(shí)候,readonly,重寫getter方法 var title: String { //之重寫了getter方法,沒有重寫setter方法 //就是只讀屬性 get{ return "Mr." + (name ?? ""); } } //只讀屬性的簡寫,直接 return //又稱為計(jì)算型屬性,本身不儲(chǔ)存內(nèi)容,都是通過計(jì)算獲得結(jié)果 //類似于一個(gè)函數(shù),沒有參數(shù),有返回值 var titleTwo: String { return "xxxx" + (name ?? ""); }}3.計(jì)算型屬性和懶加載的區(qū)別計(jì)算型屬性,本身不儲(chǔ)存內(nèi)容,都是通過計(jì)算獲得結(jié)果,類似于一個(gè)函數(shù),沒有參數(shù),有返回值。
懶加載會(huì)在第一次訪問執(zhí)行,閉包結(jié)束后,會(huì)把結(jié)果存在屬性中,后續(xù)調(diào)用,直接返回屬性的內(nèi)容,懶加載的屬性會(huì)分配空間存儲(chǔ)值。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注