今天學(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í)。
寶劍鋒從磨礪出,梅花香自苦寒來。