OC的時候,在init方法中給class一些創建過程中必填的屬性,是很常用的方法了
比如
{
self = [super initWithFrame:frame];
if (self) {
self.buttonClickBlock = buttonClick;
}
return self;
}```
如此的簡單明
swift匯總init方法被限制了些許,用過許多次了但也是一知半解,有些問題雖然很淺顯,也著實讓人惱火,小小的init,錯了這么多次,忽略什么convenience
- 第一種就是這了,按照OC的方式,寫一個init之后,會提示`initWithCoder`必須要實現,這個好解決,自動補齊就行了

- 補齊之后又來了

什么鬼,明明在里面賦值了,怎么還不行!原來`application`是子類的屬性,子類的屬性必須要在init之前創建,此時明顯在init之前了
- 好嘛,我后super,總行了吧

shit,又說我不能提前用title。。。
- 過好歹是一直給著提示,最終:

#### 總結
init的時候,除去convenience什么的不說,單單init方法中,就要分兩部分寫,子類自有的屬性,需要在super之前創建,而父類所擁有的屬性,需要在`super.init`之后賦值,
> 其實從OC轉變過來的我有個疑問,不是應該調完***super.init***之后才創建了當前實例么,之前set屬性是給誰set的?