標籤:htm key suspend 並且 .net kvc object hidden ons
http://www.mamicode.com/info-detail-308725.html
alpha和opaque的區別
alpha是用來描述改view的透明度從0到1,0表示的是透明,1表示不透明。alpha支援動畫(animation),alpha = 0 與 hidden = YES 效果一樣都是看不到view,但是後者相比開銷大。在alpha等於0時view接受touch事件,但是hidden則不接受。並且hidden和opaque 不支援動畫。alpha並不影響鑲嵌在其內部view行為,而hidden會影響。當把view設定為透明背景時,一般把opaque設定為NO,可以減少開銷,最佳化記憶體.opaque影響圖形繪製系統。設定為YES,會最佳化view的繪製。
3,nil,NSNULL,NULL區別
nil是指向obj-c中對象的null 指標,是一個對象,在o-c中nil對象調用方法不會引起crash。
Nil是指向obj-c中的類的null 指標,表示的是一個空類。
NULL是指向任何類型的null 指標(如c/c++中的null 指標),在objective-c中是一個數值。
NSNULL用於集合操作,在集合對象中,表示一個空值的集合對象。
4.KVC and KVO
KVC(key-value-coding)索引值編碼,是一種間接操作對象屬性的一種機制,可以給屬性設定值。通過setValue:forKey:和valueForKey,實現對屬性的存取和訪問。
KVO(key-value-observing)索引值觀察,是一種使用觀察者模式來觀察屬性的變化以便通知註冊的觀察者。通過註冊observing對象addObserver:forKeyPath:options:context:和觀察者類必須重寫方法 observeValueForKeyPath:ofObject:change:context:。常應用MVC模型中,資料庫(dataModal)發生變化時,引起view改變。
21.應用程式的生命週期和狀態(參照:http://blog.csdn.net/totogo2010/article/details/8048652)
Not running 未運行 程式沒啟動
Inactive 未啟用 程式在前台運行,不過沒有接收到事件。在沒有事件處理情況下程式通常停留在這個狀態
Active 啟用 程式在前台運行而且接收到了事件。這也是前台的一個正常的模式
Backgroud 後台 程式在後台而且能執行代碼,大多數程式進入這個狀態後會在在這個狀態上停留一會。時間到之後會進入掛起狀態(Suspended)。有的程式經過特殊的請求後可以長期處於Backgroud狀態
Suspended 掛起 程式在後台不能執行代碼。系統會自動把程式變成這個狀態而且不會發出通知。當掛起時,程式還是停留在記憶體中的,當系統記憶體低時,系統就把掛起的程式清除掉,為前景程式提供更多的記憶體。
是程式狀態變化圖:
iOS必備知識點