swift構造器,swift類的初始化方法

2021-10-08 10:28:00 字數 925 閱讀 2285

swift類的初始化,swift init方法最全面的介紹

swift裡面會經常看到申明屬性申明成可選型別,其實這和構造器也是有關係的。(申明變數時,用?申明可選值型別的話,在之後使用時都需要顯式的寫上解包操作,而用!申明時,之後使用會預設隱式的加上!解包,兩者申明之後不初始化都會預設乙個nil值)

構造器

class

student

:nsobject

init

(name:

string

?, age:

int?

, weight:

double?)

throws

self

.name = name

self

.age = age

self

.weight = weight

}init

(name:

string

?, height:

double?)

convenience

init

(name:

string

?, age:

int?

, weight:

double

?, height:

double?)

}let student =

student()

//由於有指定構造器,系統預設的預設構造器沒了,以至於報錯

總結

當沒有自定義構造器且屬性都有預設值的時候,會有預設構造器。當有指定構造器時,預設構造器會不能用。便利構造器必須要呼叫指定構造器來完成初始化,便利構造器不能呼叫super。關於構造器更多資訊請前往這裡

Swift 對比學習Swift構造器

首先建立乙個類 實現方法如下 而當我們利用建構函式生成例項時有以下幾種方法 在oc的例子中,構造器initwithname age 內部呼叫了另乙個構造器,避免了 重複,下面來圍觀swift中如何實現。在swift中,當你建立乙個類或者結構體的時候,它們的屬性一定有初值 否則編譯不過,例如let a...

Swift之構造器(上)

目錄 swift之構造器 上 swift之構造器 中 swift之構造器 下 swift賦予自定義型別更加豐富的功能,乙個顯著地方就是構造過程。swift可以為自定義型別設定構造器來初始化乙個例項。有關swift構造器的使用特點可以總結如下 1.構造器適用於類 結構體 列舉。是新的例項可用之前必須執...

學習Swift 構造器 下

如果乙個類,結構體或列舉型別的物件,在構造自身的過程中有可能失敗,則為其定義乙個可失敗構造器,是非常有必要的。這裡所指的 失敗 是指,如給構造器傳入無效的引數值,或缺少某種所需的外部資源,又或是不滿足某種必要的條件等。為了妥善處理這種構造過程中可能會失敗的情況。你可以在乙個類,結構體或是列舉型別的定...