swift学习-属性观察器,静态属性-12/26

今天学的时间比较短,只有50分钟左右,书看到了125页,脉络越来越清晰了。
这周完成计划的每周10小时学习应该没问题,保持下去哦。
1 属性观察器,可以观察属性的变化。willSet在值设置之前调用,didSet在值设置之后调用。
例如:

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中的静态属性。使用static修饰。就不赘述了。

class StaticTest {
    static var a = 2
    var myValue: Int = 0
    static var b: Int {
        get {
            return a //return myValue则错误,类似c++
        }

        set {
            a = newValue
        }
    }
}

var myStatic = StaticTest()

print(StaticTest.b)  //myStatic.b 这种写法错误

3 方法。结构体和枚举能定义方法是swift和object-c的主要区别之一。在object-c中,类是唯一能定义方法的类型。

明天继续学习。
宝剑锋从磨砺出,梅花香自苦寒来。

你可能感兴趣的:(swift学习-属性观察器,静态属性-12/26)