初始化方法

2021-06-22 21:16:41 字數 1592 閱讀 9467

initialize和load的區別在於:load是只要類所在檔案被引用就會被呼叫,而initialize是在類或者其子類的第乙個方法被呼叫前呼叫。所以如果類沒有被引用進專案,就不會有load呼叫;但即使類檔案被引用進來,但是沒有使用,那麼initialize也不會被呼叫。

它們的相同點在於:方法只會被呼叫一次。都是類方法(其實這是相對runtime來說的)。

initwithoder 是當從nib檔案中載入物件的時候會呼叫,比如你的view來自nib那麼就會呼叫這個view的這個函式。(由框架呼叫)

initwithframe (是由使用者呼叫,來初始化物件的。)

init:方法

在init方法中例項化必要的物件(遵從lazyload思想)

init方法中初始化viewcontroller本身

loadview:方法

這是當沒有正在使用nib檢視頁面,子類將會建立自己的自定義檢視層。絕不能直接呼叫。

如果手工維護views,必須過載重寫該方法。

當view需要被展示而它卻是nil時,viewcontroller會呼叫該方法。

loadview和ib構建view

你在控制器中實現了loadview方法,那麼你可能會在應用執行的某個時候被記憶體管理控制呼叫。 如果裝置記憶體不足的時候, view 控制器會收到didreceivememorywarning的訊息。 預設的實現是檢查當前控制器的view是否在使用。 如果它的view不在當前正在使用的view hierarchy裡面,且你的控制器實現了loadview方法,那麼這個view將被release, loadview方法將被再次呼叫來建立乙個新的view。

viewdidload:方法

在檢視載入後被呼叫:

如果是在**中建立的檢視載入器,他將會在loadview方法後被呼叫;

如果是從nib檢視頁面輸出,他將會在檢視設定好後後被呼叫。

過載重寫該方法以進一步定製view

在iphone os 3.0及之後的版本中,還應該過載重寫viewdidunload來釋放對view的任何索引

viewdidload後呼叫資料model

方法called when the view is about to made visible. default does nothing

檢視即將可見時呼叫。預設情況下不執行任何操作

執行順序:

先執行init

、然後執行

viewdidload

,然後是

最後是,這樣檢視就建立好了,當檢視消失或者被覆蓋的時候先

這樣一來檢視就消失了

當模擬記憶體警告的時候:

程式會執行viewwillunload最後是執行viewdidunload(現在這兩個方法都被廢棄了)

其實當檢視a切換到檢視b的真正的流程並不是按上面的流程跑下來的,

正確的順序流程應該是:

1,b檢視viewdidload

類初始化 例項初始化 方法重寫

乙個類要建立例項需要先載入並初始化該類 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 clinit 方法 例項初始化就是執行 init 方法 哪些方法不可以被重寫 物件的多型性 父類 author barrylee 2018年11月10日 下午3 52 33 public class fa...

初始化 大眾車型 天窗初始化方法

問題描述 使用者抱怨天窗有時不能關閉,在開啟後不能完全關閉,或者起翹後不能完全關 閉。產生原因 1 天窗本身具有防夾功能,當天窗執行時的阻力與它初始化時的記憶不同的 時候,它能夠自動控制防夾功能是否啟用,以免給人體造成傷害。2 天窗在在維修或更換完畢後,需要做初始化設定 天窗在在使用一段時間 後由於...

Swift初始化方法

swift中有兩類初始化方法 designated 指定 和convenience 便利 初始化方法。convenience初始化方法必須呼叫同乙個類 self 中的designated初始化。init parameters convenience init parameters 特別要注意構造器的...