Init

weixin_34365417發表於2016-05-12

Designated Initializers(指定構造器)

Convenience Initializers(便捷構造器)


1、Struct 沒有設定建構函式時,會預設有一個 Memberwise Initializers(逐一函式)。

2、給儲存型型別屬性賦預設值或在初始構造器中設定初始值時,此屬性的屬性觀察者不會被呼叫。

3、構造器的第一個內部引數名也會預設作為其外部引數名供呼叫,這點與其他函式不同。

4、在初始化一個類、結構體、列舉時,呼叫其構造方法,也僅僅是呼叫構造方法。

5、構造器代理:可以在構造方法裡應用本類的其他構造方法。

6、在結構體(Struct)的擴充套件裡寫自定義構造器,不會覆蓋系統預設的Memberwise Initializers,但是如果未解除安裝擴充套件裡面,則會覆蓋。

7、指派建構函式初始化時,應先將自身的屬性物件賦值,然後再呼叫父類的指派建構函式。

8、便利構造器,只能在Class中使用

9、複寫預設init方法,之前標註private,只能對非當前檔案有效,在當前檔案中,如extension中,依舊可以呼叫該init方法

相關文章