簡體   English   中英

調用awakeFromNib,不調用viewDidLoad

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM