ios - 调用了 awakeFromNib,未调用 viewDidLoad

标签 ios objective-c uitableview xcode7 viewdidload

我有一个从多个地方调用的 View Controller ,第一次调用它时,会调用 awakeFromNib,但不会调用 viewDidLoad。 viewWillAppear 和 viewDidAppear 每次都会被调用。

此外, View (一个 UITableView 子类)功能正常,除了 viewDidLoad 中的任何内容显然都没有实现。

在此 View Controller 中未覆盖 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,我该如何解决?

编辑:我收到了一个帮助修复它的答案,但是我想知道它为什么会发生,因为它可能与我的应用程序中的错误有关。

谢谢。

最佳答案

这在 a comment 中有点暗箱操作。但事实证明可以解决问题。

确保在覆盖的方法中调用[super awakeFromNib]

关于ios - 调用了 awakeFromNib,未调用 viewDidLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756114/

相关文章:

ios - 重新加载 TableView 的数据而不清除其选择状态

iphone - 连接过程后设置部分的标题

ios - 将静态 TableView 与 UIViewController 合并

iphone - 离开页面后TableViewCells被删除

ios - 将 NSDictionary 存储在永久内存中 NSUserDefaults 抛出 setValue :forUndefinedKey

IOS Storyboard : How do I know what code controls what screen?

ios - 设置 UITextField/UITextView 的 `returnKeyType` 显示 ↵

objective-c - 将数组传递给导航类型应用程序中的父 View Controller

ios - Helvetica Neue Light,iOS

iphone - 在没有苹果开发者 ID 的设备上安装应用程序