3 回答

TA貢獻1780條經驗 獲得超4個贊
awakeFromNib
當控制器本身未從筆尖存檔時調用。創建/取消存檔視圖viewDidLoad
時調用。當控制器的視圖存儲在單獨的nib文件中時,這一區別尤其重要。

TA貢獻1789條經驗 獲得超10個贊
我將通過舉一個例子來回答:
如果定義customCell
類和customCell.xib
文件,然后使用加載單元格- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
,則在未歸檔xib中的對象時將調用awakeFromNib。
如果定義customViewController
,則customViewController
使用創建時- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
。當viewDidLoad加載到視圖層次結構中時,它將被調用。
一些相關的混淆方法:
(void)loadView; 如果子類不使用筆尖,則應在此處創建其自定義視圖層次結構。如果未指定筆尖名稱,則loadView將嘗試加載名稱與視圖控制器類相同的筆尖。如果不存在此類筆尖,則必須在調用-view之前調用-setView:,或重寫-loadView方法以編程方式設置視圖。-loadView絕對不能直接調用。
(void)viewDidLoad:加載視圖后調用。對于用代碼創建的viewController,它在-loadView之后。對于從筆尖未存檔的視圖控制器,這是在設置視圖之后。
- 3 回答
- 0 關注
- 649 瀏覽
添加回答
舉報