學習筆記 菜鳥教程Swift易忘知識點總結(五)

2021-08-29 00:09:26 字數 1652 閱讀 5284

構造過程

析構過程

可選鍊子類指的是在乙個已有類的基礎上建立乙個新的類。

為了指明某個類的超類,將超類名寫在子類名的後面,用冒號(:)分隔,語法格式如下:

class

someclass

:somesuperclass

注意:你不可以為繼承來的常量儲存型屬性或繼承來的唯讀計算型屬性新增屬性觀察器。

結構體的逐一成員構造器

構造器可以通過呼叫其它構造器來完成例項的部分構造過程。這一過程稱為構造器**,它能減少多個構造器間的**重複。

構造器**規則

值型別類型別不支援繼承,所以構造器**的過程相對簡單,因為它們只能**給本身提供的其它構造器。 你可以使用self.init在自定義的構造器中引用其它的屬於相同值型別的構造器。

它可以繼承自其它類,這意味著類有責任保證其所有繼承的儲存型屬性在構造時也能正確的初始化。

swift 提供了兩種型別的類構造器來確保所有類例項中儲存型屬性都能獲得初始值,它們分別是指定構造器和便利構造器。

指定構造器

便利構造器

類中最主要的構造器

類中比較次要的、輔助型的構造器

初始化類中提供的所有屬性,並根據父類鏈往上呼叫父類的構造器來實現父類的初始化。

可以定義便利構造器來呼叫同乙個類中的指定構造器,並為其引數提供預設值。你也可以定義便利構造器來建立乙個特殊用途或特定輸入的例項。

每乙個類都必須擁有至少乙個指定構造器

只在必要的時候為類提供便利構造器

init(parameters)convenience init(parameters)

如果乙個類,結構體或列舉型別的物件,在構造自身的過程中有可能失敗,則為其定義乙個可失敗構造器。

變數初始化失敗可能的原因有:

為了妥善處理這種構造過程中可能會失敗的情況。可以在乙個類,結構體或是列舉型別的定義中,新增乙個或多個可失敗構造器。其語法為在init關鍵字後面加添問號(init?)。

通常通過在init關鍵字後新增問號的方式(init?)來定義乙個可失敗構造器,但也可以使用通過在init後面新增驚嘆號的方式來定義乙個可失敗構造器(init!)。

語法

在類的定義中,每個類最多只能有乙個析構函式。析構函式不帶任何引數,在寫法上不帶括號:

deinit

可選鏈(optional chaining)是一種可以請求和呼叫屬性、方法和子指令碼的過程,用於請求或呼叫的目標可能為nil。

可選鏈返回兩個值:

多次請求或呼叫可以被鏈結成乙個鏈,如果任意乙個節點為nil將導致整條鏈失效。

通過在屬性、方法、或下標指令碼的可選值後面放乙個問號(?),即可定義乙個可選鏈。

? 放置於可選值後來呼叫方法,屬性,下標指令碼

當可選為 nil 輸出比較友好的錯誤資訊

你可以將多層可選鏈連線在一起,可以掘取模型內更下層的屬性方法和下標指令碼。然而多層可選鏈不能再新增比已經返回的可選值更多的層。

可以通過可選鏈結來呼叫返回可空值的方法,並且可以繼續對可選值進行鏈結。

python 易忘語法筆記

python vpython3 中,可以用中文作為變數名,非ascii標識碼也是允許了。通常情況下不建議使用 我們不能將他們用作任何識別符號名稱。利用標準庫提供的keyword模組,可以輸出當前版本的所有關鍵字。import keyword keyword.kwlist false none tru...

JavaScript菜鳥教程筆記

閉包 var add function function myfunction 監聽事件 addeventlistener 方法新增的事件控制代碼不會覆蓋已存在的事件控制代碼。addeventlistener 方法可以更簡單的控制事件 冒泡與捕獲 removeeventlistener 方法來移除事...

菜鳥教程HTML筆記

1 對於中文網頁需要使用 宣告編碼,否則會出現亂碼。有些瀏覽器 如 360 瀏覽器 會設定 gbk 為預設編碼,則你需要設定為 2 html對大小寫不敏感,html4中w3c推薦使用小寫,htmlx中估計要強制推薦小寫 3 1到6號標題與1到6號字型逆序對應,比如1號字型對應6號標題,2號字型對應5...