.position(x:y:) 指定的位置,如果是在一個(gè) stack 里的話是相對(duì)位置,vstack 是縱向相對(duì),hstack 是橫向相對(duì)
CGFloat:橫縱坐標(biāo),size:width height。
mutating 可以修改 structure 里的 property。
mvc 是 model view controller,model = logic + data, controller collects logics and data from model and conveys them to view, at the same time gets the signals from view and pass them to model.

class 創(chuàng)建的實(shí)例盡管使用 let 聲明但是卻可以修改,對(duì)于 struct 卻需要用 var 來(lái)聲明;
struct 內(nèi)的函數(shù)如要修改變量,需要 mutating keyword,但是 class 內(nèi)的函數(shù)卻不需要。
class 中:
let dragon = Dragon()
let dragon1 = dragon
此時(shí) dragon 和 dragon1 指向的是同一實(shí)例,修改任意一方會(huì)同時(shí)修改兩個(gè)實(shí)例;struct 則相反。
class 中的變量聲明必須有初始值,否則會(huì)報(bào)錯(cuò) has no initializer,但如果聲明為
var message = String? 就不會(huì)報(bào)錯(cuò)。
- segue 是從一個(gè) scene 過(guò)渡到另一個(gè) scene 的動(dòng)作,segue.identifier 是用來(lái)識(shí)別不同的 identifier 的,使用 segue 只需 performSegue 并傳入 identifier 來(lái)識(shí)別要 perform 的是哪個(gè) segue,以及 sender。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) 用來(lái)在執(zhí)行過(guò)渡之前執(zhí)行一些其他的動(dòng)作,segue.destination as! DestinationViewController 用來(lái)指明 segue 的目標(biāo),
let destinationVC = segue.destination as! DestinationViewController 即可以把 segue 的目標(biāo) controller(一個(gè) class)實(shí)例化為 destinationVC,即可以在過(guò)渡前來(lái)獲取目標(biāo) class 中的變量并進(jìn)行修改了。