iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

一個令我自豪的App完成之路系列 第 30

App生命週期使用時機 Day 30

生命週期分為最重要的五個階段:

  1. viewDidLoad:

    畫面已經(Did)載入記憶體會使用

    載入只會有一次

常會用在:

  • 連接網路資料、元件預備、載入資料

  1. viewWillLoad:

    畫面將要呈現會使用

常會用在:

  • 會經常改變的資料、在畫面載入後的隱藏等動作

  1. viewDidAppear:

    畫面已經呈現,畫面呈現後要立刻做的事情

常會用在:

  • 播放音樂、獲取已經載入的資料

  1. viewWillDisappear:

    畫面將要消失,但是仍在ViewController的階層內

常會用在:

  • 終止網路需求、收回鍵盤

  1. viewDidDisappear:

    畫面已經消失,且也消失在ViewController的階層中

常會用在:

  • 終止Sensor、釋放資源

這樣就會很清楚,如果要使用什麼樣子東西,要放在ViewController的哪個階段

像是TableView的載入會放在viewDidLoad:

將Firebase的資料下載下來作為載入,但是因為會延遲載入

所以會設計一個Loading的畫面,會用到Lottie,那些東西會在下次出現。


參考網站:

混淆系列:View Controller 的生命週期「View Controller Life Cycle」

iOS View Controller Life Cycle


上一篇
日曆功能更新 Day29
下一篇
Loading載入 Lottie實作 Day31
系列文
一個令我自豪的App完成之路32

尚未有邦友留言

立即登入留言