swift學(xué)習(xí)-屬性觀察器,靜態(tài)屬性-12/26

今天學(xué)的時(shí)間比較短,只有50分鐘左右,書看到了125頁,脈絡(luò)越來越清晰了。
這周完成計(jì)劃的每周10小時(shí)學(xué)習(xí)應(yīng)該沒問題,保持下去哦。
1 屬性觀察器,可以觀察屬性的變化。willSet在值設(shè)置之前調(diào)用,didSet在值設(shè)置之后調(diào)用。
例如:

class StepCounter {
    var totalSteps: Int = 0 {
        willSet {
            print("old value is \(totalSteps), new value is \(newValue)")
        }

        didSet {
            print("old value is \(oldValue), new value is \(totalSteps)")
        }
    }
}

let stepCounter = StepCounter()

stepCounter.totalSteps = 3
stepCounter.totalSteps = 5

2 類型屬性,類似c++,java中的靜態(tài)屬性。使用static修飾。就不贅述了。

class StaticTest {
    static var a = 2
    var myValue: Int = 0
    static var b: Int {
        get {
            return a //return myValue則錯(cuò)誤,類似c++
        }

        set {
            a = newValue
        }
    }
}

var myStatic = StaticTest()

print(StaticTest.b)  //myStatic.b 這種寫法錯(cuò)誤

3 方法。結(jié)構(gòu)體和枚舉能定義方法是swift和object-c的主要區(qū)別之一。在object-c中,類是唯一能定義方法的類型。

明天繼續(xù)學(xué)習(xí)。
寶劍鋒從磨礪出,梅花香自苦寒來。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容