今天因為Udemy連線超不穩,所以來聽聽史丹佛老頭上的課啦,

對於iOS系統架構與開發環境有初步的介紹,之後對於optional有挺詳細的解釋,

這系列還是很值得看。

開發平台介紹

iOS系統架構介紹


1.

// from, to , using: external name(函示外部使用的名稱)
// starX, endX, using: internal name(函示內部使用的名稱)
func drawHorizontalLine (from startX: Double, to endX: Double, using color: UIColor) {

}

drawHorizontalLine(from: 15.0, to: 20.0, using: .red)

2.

// _ 代表省略external name
@IBAction func touchDigit(_ sender: UIButton) {

}

3.
每要用一個class之前,按option + 左鍵,花5~10分鐘閱讀官方文件瞭解這個class

4.
optional only has two values: “set” or “not set”

5.
在開發期間crash是好事,可以早些發現問題

6.
! 代表 unwrapped values

6.1
在宣告property時後面加!,代表這是個optional,並且在後面使用到時都會自動unwrapping

7.

// all properties should be initialize
var userIsInTheMiddleOfTyping: Bool = false

7.1

// Bool可省略,swift會自動判別型態
var userIsInTheMiddleOfTyping = false

8.
optional的初始值為nil

9.

// 從String轉為Double是一個option double,因為不是所有string都可以轉成double
let operand = Double(display.text!)!

10.

var displayValue: Double {
// read
get {
// 讀取值時,回傳double型態
return Double(display.text!)!
}
// write
set {
// 寫入值時,將值轉換為String後放入display.text中
display.text = String(newValue)
}
}
Vocabulary:
associate 關連
concept 觀念
external 外部的
internal 內部的