Swift新手教程12 可選鏈

2021-09-08 22:45:45 字數 990 閱讀 5033

可選鏈

可選鏈提供乙個一種可選的方式訪問物件的屬性、方法、下標指令碼,可選鏈的返回值一定是可選型別。

長處:替代強制解析(符號!,比如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 將導致整個鏈呼...