2-init 方法總結(jié)

一、系統(tǒng)調(diào)用

1.純代碼系統(tǒng)調(diào)用

initWithFrame

2. 使用 Storyboard 和 Xib 加載時(shí)系統(tǒng)調(diào)用

initWithCoder 從文件實(shí)例化時(shí)調(diào)用
awakeFromNib 設(shè)置控件 可以保證所有的連線等操作生效,不需要調(diào)用super

二、手動(dòng)調(diào)用

1. 加載 storyboard

// 實(shí)例化 UIStoryboard 對(duì)象
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"KMHTableViewController" bundle:nil];
// 從 storyboard 中實(shí)例化控制器
UIViewController *VC = [storyboard instantiateViewControllerWithIdentifier:@"ID"];

2. 加載 xib

initWithNibName

  • File.s Owner 的 Class 設(shè)置為自定義控制器類(lèi)型
  • 延遲加載

loadNibNamed

  • File.s Owner 的 Class 的類(lèi)為NSOjbect
  • 即時(shí)加載

UINib

// 獲取UINib對(duì)象
UINib* nib = [UINib nibWithNibName:@"AppCell"bundle:nil];
// 取出cell對(duì)象Owner 多視圖控制器使用
AppCell *cell = [nib instantiateWithOwner:nil options:nil].lastObject;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容