Controller生命周期問(wèn)題

生命周期

Controller視圖控制器在iOS程序中非常的常見(jiàn), 每個(gè)controller在創(chuàng)建視圖的時(shí)候,會(huì)調(diào)用loadView方法, 該方法的作用是給controll加載一個(gè)視圖,并且該視圖是透明的

viewController一般可以分為兩類:

展示類controller: 用于顯示UI界面,可以用來(lái)繼承.常用的只有UIViewController和UITableViewController可以被繼承

容器類controller: UINavigationController 和UITabBarController.兩者都具有Controllers的屬性. UINavigationController 是一種棧式的結(jié)構(gòu),push和pop. 一般控制器之間具有依賴關(guān)系. UITabBarController中的控制器是數(shù)組的排列方式.

// 初始化控制器
- (instancetype)init {
    
    self = [super init];
    return self;
}

// 在調(diào)用loadview之前,當(dāng)前控制器是沒(méi)有view的
- (void)loadView {
    [super loadView];
    
    //加載控制器自帶的view視圖,此方法一般情況下不需要重寫(xiě)
}


- (void)viewDidLoad {
    [super viewDidLoad];
    // 當(dāng)控制器自帶視圖加載完畢后,調(diào)用此方法
    // 此時(shí)view即將限時(shí),此時(shí)的superview一般是nil
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // 視圖即將顯示
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // view已經(jīng)顯示
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    // view 即將消失,此時(shí)還沒(méi)有調(diào)用removeFromSuperView
}

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    // 此時(shí)view已經(jīng)從superview中移除了
}

- (void)viewDidUnload {
    [super viewDidUnload];
    // view從內(nèi)存中消失
}

// 控制器釋放,此方法由系統(tǒng)內(nèi)部實(shí)現(xiàn),在ARC中程序員不能自行釋放
- (void)dealloc {
    [super dealloc];
}

1, 如果我們不重寫(xiě)loadView,系統(tǒng)會(huì)默認(rèn)實(shí)現(xiàn)loadView方法給controller自動(dòng)創(chuàng)建一個(gè)透明視圖

2, 如果我們重寫(xiě)了loadView ,就必須給controller設(shè)置視圖,否則會(huì)死循環(huán)(也可在viewDidload中設(shè)置這個(gè)view,只要設(shè)置了,程序就不會(huì)出現(xiàn)死循環(huán)).在viewDidLoad方法中,如果檢測(cè)不到視圖,就會(huì)不斷調(diào)用loadView, 這個(gè)時(shí)候就會(huì)出現(xiàn)死循環(huán)

視圖的生命周期.jpeg

MVC

MVC 是一個(gè)框架級(jí)的設(shè)計(jì)模式,其核心為controller控制器層

  • M model 數(shù)據(jù)層 負(fù)責(zé)數(shù)據(jù)的映射,提供數(shù)據(jù)
  • V view 視圖層 負(fù)責(zé)數(shù)據(jù)的展示,UI渲染等
  • C controller 控制器層 負(fù)責(zé)處理用戶操作,model層和view層通訊,屏幕旋轉(zhuǎn),內(nèi)存警告等
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诅诱,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件近刘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡臀晃,警方通過(guò)查閱死者的電腦和手機(jī)觉渴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)徽惋,“玉大人疆拘,你說(shuō)我怎么就攤上這事〖挪埽” “怎么了哎迄?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵回右,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我漱挚,道長(zhǎng)翔烁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任旨涝,我火速辦了婚禮蹬屹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘白华。我一直安慰自己慨默,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布弧腥。 她就那樣靜靜地躺著厦取,像睡著了一般。 火紅的嫁衣襯著肌膚如雪管搪。 梳的紋絲不亂的頭發(fā)上虾攻,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音更鲁,去河邊找鬼霎箍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛澡为,可吹牛的內(nèi)容都是我干的漂坏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼媒至,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼樊拓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起塘慕,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤筋夏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后图呢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體条篷,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蛤织,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赴叹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡指蚜,死狀恐怖乞巧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摊鸡,我是刑警寧澤绽媒,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布蚕冬,位于F島的核電站,受9級(jí)特大地震影響是辕,放射性物質(zhì)發(fā)生泄漏囤热。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一获三、第九天 我趴在偏房一處隱蔽的房頂上張望旁蔼。 院中可真熱鬧,春花似錦疙教、人聲如沸棺聊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)限佩。三九已至,卻和暖如春经宏,著一層夾襖步出監(jiān)牢的瞬間犀暑,已是汗流浹背驯击。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工烁兰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徊都。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓沪斟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親暇矫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子主之,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容