Mac應用程序使用的是AppKit框架碰镜,而iOS應用程序使用的是UIKit框架户誓,它包含了所有的UI組件和構成iOS應用程序的資源么夫。
iOS在以下方面與OS X不同:
①沒有shell和控制臺管呵。
②應用程序在Mac電腦的模擬器中運行淮蜈。
③無法支持一些無UI界面的API。
④大部分程序員都認為開發(fā)iOS應用更加輕松奥此。
1.1 視圖控制器
Cocoa主要使用的是MVC模式弧哎。確實,我們在應用程序擁有一個視圖稚虎、一個控制器以及一組數(shù)據撤嫩。
我們是從nib文件中獲取視圖的。這種方式非常便利蠢终。
UIViewController知道如何管理視圖序攘,比如將其放在屏幕上、調整大小寻拂、旋轉程奠,等等。
File’ s Owner : 其實當你在加載nib文件的時候兜喻,會有一個控制器作為它的擁有者梦染。當通過模板自動創(chuàng)建nib文件和控制器時,模板會讓控制器成為nib文件的擁有者。
視圖控制器會在nib文件加載和對象初始化完成后調用viewDidLoad方法帕识。當viewDidLoad方法調用了泛粹,你便能確定你的nib文件已經加載完畢了。
viewDidUnload: 視圖從視圖層級中移除后會調用這個方法肮疗,其目的是為了保護內存不會泄露晶姊。
iOS不支持虛擬內存。應用程序只能使用設備中可用的內存伪货。如果使用了太多的內存们衙,iOS將會強行退出應用程序。我們可以通過viewDidUnload方法在事后清理內存碱呼。
在iOS(尤其是iPhone)應用程序中蒙挑,大多數(shù)情況下甩骏,一個視圖離開后另一個視圖會來填滿屏幕拨与。此時,先前的視圖看不到了嘁扼,也就不需要保留它了姑裂。iOS需要卸載視圖來節(jié)約內存馋袜,所以viewDidUnload方法可以幫助我們移除視圖上的各項內容以節(jié)約一些內存。
viewDidLoad和ViewDidUnload在視圖的生命周期內只會調用到一次舶斧。而與之相對應的四個方法(viewWillAppear, ViewDidAppear欣鳖、ViewWillDisappear、ViewDidDisappear)
也會在視圖離開或出現(xiàn)的時候得到調用茴厉。每當條件合適的時候它們就會被調用泽台,即便視圖沒有卸載。
《Objective-C基礎教程》讀書筆記12—UIKit簡介
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門咐吼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人商佑,你說我怎么就攤上這事锯茄。” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵肌幽,是天一觀的道長晚碾。 經常有香客問我,道長喂急,這世上最難降的妖魔是什么格嘁? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮廊移,結果婚禮上糕簿,老公的妹妹穿的比我還像新娘。我一直安慰自己狡孔,他們只是感情好懂诗,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苗膝,像睡著了一般殃恒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荚醒,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼较剃!你這毒婦竟也來了咕别?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布笔链,位于F島的核電站段只,受9級特大地震影響,放射性物質發(fā)生泄漏卡乾。R本人自食惡果不足惜翼悴,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幔妨。 院中可真熱鬧鹦赎,春花似錦、人聲如沸误堡。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽锁施。三九已至陪踩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悉抵,已是汗流浹背肩狂。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 1.ios高性能編程 (1).內層 最小的內層平均值和峰值(2).耗電量 高效的算法和數(shù)據結構(3).初始化時...
- 關于資源 適用于計算機程序的資源是與程序可執(zhí)行代碼相關的數(shù)據文件岂座。資源可以通過將代碼之外的復雜數(shù)據集或圖形內容創(chuàng)建...
- 譯者注:本文是對 Apple 官方文檔的翻譯态蒂,原文地址為:https://developer.apple.com/...