initwithcoder 與 Nib

initwithcoder什么時(shí)候調(diào)用
第一抚笔、initWithNibName這個(gè)方法是在controller的類在IB中創(chuàng)建,但是通過Xcode實(shí)例化controller的時(shí)候用的.
第二、initWithCoder 是一個(gè)類在IB中創(chuàng)建但在xocde中被實(shí)例化時(shí)被調(diào)用的.比如,通過IB創(chuàng)建一個(gè)controller的nib文件,然后在xcode中通過 initWithNibName來實(shí)例化這個(gè)controller,那么這個(gè)controller的initWithCoder會被調(diào)用.或者是一個(gè)view的nib文件侨拦,類似方法創(chuàng)建時(shí)調(diào)用initWithCoder
第三殊橙、awakeFromNib
當(dāng).nib文件被加載的時(shí)候,會發(fā)送一個(gè)awakeFromNib的消息到.nib文件中的每個(gè)對象狱从,每個(gè)對象都可以定義自己的awakeFromNib函數(shù)來響應(yīng)這個(gè)消息膨蛮,執(zhí)行一些必要的操作。也就是說通過nib文件創(chuàng)建view對象時(shí)執(zhí)行awakeFromNib
第四矫夯、關(guān)于 initWithNibName 和 loadNibNamed 的區(qū)別和聯(lián)系 :
關(guān)于 initWithNibName 和 loadNibNamed 的區(qū)別和聯(lián)系鸽疾。之所以要把這兩者來一起講,我覺的我也有點(diǎn)困惑训貌,到底用那種制肮?其實(shí)真正搞清楚了他們之間的差別,就不會這么迷惘了递沪。因?yàn)檫@兩個(gè)方法豺鼻,根本就不是一路貨色。
既然款慨,是要說明這2個(gè)方法儒飒,那就著重將區(qū)別吧。
但是第一步檩奠,還是要羅嗦一下桩了,他們的聯(lián)系:可以使用此方法加載用戶界面(xib文件)到我們的代碼中,這樣埠戳,可以通過操作這個(gè)加載進(jìn)來的(xib)對象井誉,來操作xib文件內(nèi)容。
下面進(jìn)入主題整胃,談區(qū)別:

  1. ShowViewController的initWithNibName方法
    ShowViewController * showMessage = [[ShowViewController alloc]
    initWithNibName:@"ShowViewController" bundle:nil];
    self.showViewController = showMessage;
    [showMessage release];
    2.VideoCellController的loadNibNamed方法
    NSArray * nib = [[NSBundle mainBundle] loadNibNamed:@"Save3ViewController"
    owner:self options:nil] ;
    總結(jié):
    只看他們初始化颗圣,那可能感覺是一樣的。但是如果奔则,打開分別看xib的關(guān)系的時(shí)候蔽午,才恍然大悟,原來他們的集成類都不一樣疾呻。
  2. initWithNibName要加載的xib的類為我們定義的視圖控制器類
    2.加載方式不同
    initWithNibName方法:是延遲加載写半,這個(gè)View上的控件是 nil 的,只有到 需要顯示時(shí)璃岳,才會不是 nil
    loadNibNamed方法:即時(shí)加載铃慷,用該方法加載的xib對象中的各個(gè)元素都已經(jīng)存在蜕该。

(認(rèn)真理解這句幫規(guī):when using loadNibNamed:owner:options:, the File's Owner should be NSObject, the main view should be your class type, and all outlets should be hooked up to the view, not the File's Owner.)

第五、initWithCoder和initWithFrame的區(qū)別
nitWithoder 是當(dāng)從nib文件中加載對象的時(shí)候會調(diào)用馋缅,比如你的view來自nib那么就會調(diào)用這個(gè)view的這個(gè)函數(shù)绢淀。(由框架調(diào)用)
initWithFrame (是由用戶調(diào)用,來初始化對象的)
The init method that gets used depends on how the view is created. It can be explicitly created using initWithFrame or it can be created by loading a nib. In that case, the initWithCoder method gets called when the view is loaded from the nib. There are other init methods for subclasses (like UITableViewController has initWithStyle), so you have to be sure which one is being called.
self.showViewController = [nib lastObject];
[nib objectAtIndex:0];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市费薄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伟众,老刑警劉巖拌倍,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱恤,死亡現(xiàn)場離奇詭異,居然都是意外死亡泡孩,警方通過查閱死者的電腦和手機(jī)寺谤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門变屁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人疮胖,你說我怎么就攤上這事闷板。” “怎么了性昭?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵糜颠,是天一觀的道長艺玲。 經(jīng)常有香客問我,道長忌警,這世上最難降的妖魔是什么秒梳? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任酪碘,我火速辦了婚禮,結(jié)果婚禮上徙赢,老公的妹妹穿的比我還像新娘。我一直安慰自己狡赐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布常柄。 她就那樣靜靜地躺著西潘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喷市。 梳的紋絲不亂的頭發(fā)上威恼,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天沃测,我揣著相機(jī)與錄音,去河邊找鬼馏谨。 笑死附迷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的喇伯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼艾猜,長吁一口氣:“原來是場噩夢啊……” “哼匆赃!你這毒婦竟也來了今缚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瞬项,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纸颜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绎橘,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唠倦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年稠鼻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熙暴。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡慌盯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亚皂,到底是詐尸還是另有隱情,我是刑警寧澤狞谱,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布禁漓,位于F島的核電站,受9級特大地震影響伶跷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜撩穿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一食寡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抵皱,春花似錦、人聲如沸呻畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绞愚。三九已至,卻和暖如春位衩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背糖驴。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工贮缕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人筷弦。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓抑诸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜕乡。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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