可選鏈
可選鏈提供乙個一種可選的方式訪問物件的屬性、方法、下標指令碼,可選鏈的返回值一定是可選型別。
長處:替代強制解析(符號!,比如instance.location!.y),由於強制解析nil的值會導致執行期錯誤
我的心得:對乙個鏈式呼叫,比方instance.frame.origin.x等非常長的呼叫,對可能是nil的部分加上?
比如,frame和origin可能為nil。則這麼使用instance.frame?.origin?.x
可選鏈的特點:中間有一次可選的值為nil,那麼整個可選鏈失效。返回nil
舉個簡單的樣例就明確了
class a class b else } } class c } class d class e } var instance = a()
一、通過可選鏈呼叫屬性
備註:因為返回可選型別,要用if let這種句式隱式解析
if let temp = instance.vara?.varb?.varc
二、通過可選鏈呼叫方法
instance.vara?.varb?.printc()
三、通過可選鏈呼叫下標指令碼
if let temp = instance.vara?
[5]?.vard1
這裡解釋下為什麼這麼用
instance.vara?[5]是用可選鏈訪問下標指令碼。返回d?,然後對返回的d?再通過可選鏈訪問,搜易訪問的時候是 instance.vara?[5]?.vard1
四、長的可選鏈呼叫
instance.vara?[5]?.vard2.printe()
Swift 十七 可選鏈
1 swift入門學習筆記 第一版 對swift的基礎知識點進行梳理總結。知識點一直在變,只是作為參考,以蘋果官方文件為準 2 在學習完基本的知識點以後會結合官方文件及相關資料,在此版本的基礎上進行新增更改。1.1 可選型別使用時需要解包,解包時需要判斷是否為nil,常用if語句判斷,再去訪問其屬性...
Swift 可選鏈 備
在swift程式表示式中會看到問號 和感嘆號 它們代表什麼含義呢?這些符號都與可選型別和可選鏈相關,下面來看看可選鏈。可選鏈 類圖 它們之間是典型的關聯關係類圖。這些類一般都是實體類,實體類是系統中的人 事 物。employee通過dept屬性與department關聯,department通過co...
學習Swift 可選鏈
可空鏈式呼叫是一種可以請求和呼叫屬性 方法及下標的過程,它的可空性體現於請求或呼叫的目標當前可能為空 nil 如果可空的目標有值,那麼呼叫就會成功 如果選擇的目標為空 nil 那麼這種呼叫將返回空 nil 多個連續的呼叫可以被鏈結在一起形成乙個呼叫鏈,如果其中任何乙個節點為空 nil 將導致整個鏈呼...