可選鏈(Optopnal Chaining)
可選項的返回值也是可選型
- 如果可選項爲nil,調用方法、下標、屬性失敗,結果爲nil
- 如果可選項不爲nil,調用方法、下標、屬性成功,結果會被包裝成可選項
- 如果結果本來就是可選項,不會進行再次包裝
- 可選項調用無返回值的方法的結果可以爲nil,也可以爲可選型空元組()?,比如person?.eat(),當person爲nil,則結果爲nil,若person不爲nil,則返回值爲可選型空元組()?。可選項綁定運用的就是這種原理:
- 可選鏈可以理解爲在可選項後調用屬性,下標和方法
- 多個?可以鏈接在一起
- 如果鏈中任何一個節點是nil,那麼整個鏈就會調用失敗