一、系統(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;