今天突然想到一個(gè)問題,以前確實(shí)是沒有注意過的予弧。swift中使用可選類型進(jìn)行方法的調(diào)用的時(shí)候如果為nil會(huì)發(fā)生什么刮吧。在此記錄一下??
直接上代碼驗(yàn)證一下,走起掖蛤!我的驗(yàn)證思路如下:
// 創(chuàng)建一個(gè)class
class TTClass {
func run() {
print("run起來")
}
func fly() {
print("fly起來")
}
}
// 創(chuàng)建兩個(gè)TTClass的實(shí)例
let c1 = TTClass()
let c2: TTClass? = nil
print("開始測(cè)試")
c1.run()
c2?.fly()
最后控制臺(tái)打印結(jié)果如下:
image.png
可見使用可選類型進(jìn)行方法調(diào)用的時(shí)候如果可選類型的值為nil杀捻,將不會(huì)繼續(xù)執(zhí)行調(diào)用的方法(廢話)不崩潰,swift安全機(jī)制真是大大的安全啊??
開發(fā)的以后需要再適當(dāng)?shù)臅r(shí)候做好相應(yīng)的判斷坠七,否則乖乖改bug