載入過程
載入第一步
- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
//根據nib檔案例項化uiviewcontroller
// 這個方法是在controller的類在ib中建立,但是通過xcode例項化controller的時候用的.
//如果你的物件是uiviewcontroler的子類,那麼你必須呼叫- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle*)nibbundleornil;方法去呼叫nib檔案初始化自身,即使那沒有使用nib檔案也會呼叫這個函式(預設 情況下init方法已經為你的做這件事情了),如果你呼叫這個方法,並傳遞的兩個引數為空(nil),然後類會呼叫-loadview去讀取乙個名字和你 的uiviewcontroller名字相同的nib檔案,來初始化自身。如果沒有這樣的nib檔案,你必須呼叫-setview:來設定乙個 self.view。或者過載-loadview 方法
載入第二步
- (void)loadview
當view需要被展示而它卻是nil時,viewcontroller會呼叫該方法。不要直接呼叫該方法。
如果手工維護views,必須過載重寫該方法
如果使用ib維護views,必須不能過載重寫該方法
loadview和ib構建view
作用:在需要用程式自定義view時重新,其他情況可以不用考慮
載入第三步
- (void)viewdidload
//如果loadview不能生成uiviewcontroller.view系統將會反覆呼叫loadview及viewdidload方法, 並且最終呼叫[super loadview] 方法返回uiviewcontroller.view
//過載重寫該方法以進一步定製view
//在iphone os 3.0及之後的版本中,還應該過載重寫viewdidunload來釋放對view的任何索引
//viewdidload後呼叫資料model
//在檢視載入後被呼叫,如果是在**中建立的檢視載入器,他將會在loadview方法後被呼叫,
//如果是從nib檢視頁面輸出,他將會在檢視設定好後後被呼叫。
作用:分配和載入在檢視顯示時所需要的資料
一般情況下,資料物件是通過配置view controller的屬性來提供的,view controller需要的一些額外的資料應該通過重寫viewdidload函式來提供。
載入第四步
//檢視即將可見時呼叫。預設情況下不執行任何操作
載入第五步
//檢視已完全過渡到螢幕上時呼叫
另外如果你這樣寫:
- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
return self;
}那麼loadview和viewdidload 方法將不會被呼叫
- (void)viewwilllayoutsubviews ;
- (void)viewdidlayoutsubviews;
解除安裝過程
解除安裝第一步
//意思是在檢視將要釋放前呼叫該函式
解除安裝第二步
解除安裝第三步
- (void)viewwillunload;新增
作用:釋放顯示檢視時所需要的不難重建的資料
解除安裝第四步
- (void)viewdidunload;
//當系統記憶體吃緊的時候會呼叫該方法(注:viewcontroller沒有被dealloc)
//當檢視不再顯示時釋放那些不需要的資料。
作用:釋放檢視物件的引用和顯示檢視時所需要的不難重建的資料
//可以使用viewdidunload函式釋放檢視擁有的所有資料,當然這些資料在檢視重新載入記憶體時能夠很容易重新//建立。
//如果重建這些資料很消耗時間,那麼不必在viewdidunload函式中釋放這些資料,可以考慮在//didreceivememorywarning函式釋放這些資料物件
解除安裝第五步
- (void)didreceivememorywarning;
//釋放在viewdidunload函式中沒有釋放的資料(重建耗時的資料)
解除安裝第六步
- (void)dealloc;
//viewcontroller最後的清理工作,釋放檢視物件的引用和viewcontroller所需資料結構
- (void)didreceivememorywarning;
- (void)viewwillunload;新增
- (void)viewdidunload;
UIViewController各方法的呼叫順序
1 init方法 在init方法中例項化必要的物件 遵從lazyload思想 init方法中初始化viewcontroller本身。2 id initwithnibname nsstring nibnameornil bundle nsbundle nibbundleornil 如果 中有重寫此方法...
各個方法的優缺點
msf方法的優缺點 msf 微軟解決方案框架結構 是一組建立 開發和實現分布式企業系統應用的工作模型 開發準則和應用指南。它幫助企業融合商業和技術的目標,降低採用新技術後系統整體的費用,以及成功的應用微軟技術整合商業過程的方法。msf的特點 商業化,就是說如何把專案計畫程式設計產品直至產生效益等等,...
手勢操作各個方法的含義
在剛開始學android的時候,就覺得google的文件不咋樣,在研究手勢時,更加的感覺google的文件寫得實在是太差了。很多常量,屬性和方法,居然連個描述都沒有。沒有描述也就罷了,但是ongesturelistener裡手勢這麼多,它也沒有乙個介紹說明,在沒有進行不斷才嘗試 之前,誰能搞懂onl...