[英]awakeFromNib is called, viewDidLoad is not called
我有一個從多個地方調用的視圖控制器,第一次調用它時,調用了awakeFromNib,但未調用viewDidLoad。 每次都調用viewWillAppear和viewDidAppear。
此外,視圖(一個UITableView子類)可以正常運行,但是viewDidLoad中的任何內容顯然都沒有實現。
在此視圖控制器中未覆蓋loadView。
用於覆蓋viewDidLoad和awakeFromNib的代碼:
- (void)awakeFromNib
{
// Configure for self sizing cells:
self.tableView.estimatedRowHeight = 44;
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.allowsSelectionDuringEditing = YES;
self.clearsSelectionOnViewWillAppear = NO;
self.navigationItem.title = nil;
self.navigationItem.rightBarButtonItem = nil;
printf("\n awake from nib \n \n ---------- \n");
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
self.tableView.allowsSelectionDuringEditing = YES;
}
怎么可能調用awakeFromNib但不調用viewDidLoad?如何解決?
編輯:我收到了有助於解決該問題的答案,但是我想知道為什么會發生,因為它可能與我的應用程序中的錯誤有關。
謝謝。
這在評論中顯得有些刺痛,但事實證明它可以解決問題。
確保在重寫的方法中調用[super awakeFromNib]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.