Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 调用awakeFromNib,不调用viewDidLoad_Ios_Objective C_Uitableview_Xcode7_Viewdidload - Fatal编程技术网

Ios 调用awakeFromNib,不调用viewDidLoad

Ios 调用awakeFromNib,不调用viewDidLoad,ios,objective-c,uitableview,xcode7,viewdidload,Ios,Objective C,Uitableview,Xcode7,Viewdidload,我有一个视图控制器,它从几个地方被调用,第一次调用时,会调用awakeFromNib,但不会调用viewDidLoad。每次都会调用ViewWillDisplay和ViewDidDisplay 此外,视图(UITableView子类)功能正常,但viewDidLoad中的任何内容显然都没有实现 此视图控制器中未覆盖loadView 用于覆盖viewDidLoad和awakeFromNib的代码: - (void)awakeFromNib { // Configure for self sizin

我有一个视图控制器,它从几个地方被调用,第一次调用时,会调用awakeFromNib,但不会调用viewDidLoad。每次都会调用ViewWillDisplay和ViewDidDisplay

此外,视图(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]

这有点像暗中捅了一刀,但最终解决了问题


确保在重写的方法中调用
[super awakeFromNib]

这有点像暗中捅了一刀,但最终解决了问题


确保在重写的方法中调用
[super awakeFromNib]

这有点像暗中捅了一刀,但最终解决了问题



确保在重写的方法中调用
[super awakeFromNib]

请为这些方法添加代码。以及初始化视图的代码。@Rage添加了代码。视图控制器在许多地方以及故事板上都有实例化,因此我认为这不是问题所在。我认为它不会解决您的问题,但您应该调用
[super awakeFromNib]在覆盖中。@NitzanR如果视图控制器在许多地方实例化,则可能就是问题所在。调用viewDidLoad的时间可能比调用其余方法的时间早得多。然后在vc之前唤醒该视图,调用vc的setView,但由于尚未唤醒该视图,因此它尚未调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)请为这些方法添加代码。以及初始化视图的代码。@Rage添加了代码。视图控制器在许多地方以及故事板上都有实例化,因此我认为这不是问题所在。我认为它不会解决您的问题,但您应该调用
[super awakeFromNib]在覆盖中。@NitzanR如果视图控制器在许多地方实例化,则可能就是问题所在。调用viewDidLoad的时间可能比调用其余方法的时间早得多。然后在vc之前唤醒该视图,调用vc的setView,但由于尚未唤醒该视图,因此它尚未调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)请为这些方法添加代码。以及初始化视图的代码。@Rage添加了代码。视图控制器在许多地方以及故事板上都有实例化,因此我认为这不是问题所在。我认为它不会解决您的问题,但您应该调用
[super awakeFromNib]在覆盖中。@NitzanR如果视图控制器在许多地方实例化,则可能就是问题所在。调用viewDidLoad的时间可能比调用其余方法的时间早得多。然后在vc之前唤醒该视图,调用vc的setView,但由于尚未唤醒该视图,因此它尚未调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)请为这些方法添加代码。以及初始化视图的代码。@Rage添加了代码。视图控制器在许多地方以及故事板上都有实例化,因此我认为这不是问题所在。我认为它不会解决您的问题,但您应该调用
[super awakeFromNib]在覆盖中。@NitzanR如果视图控制器在许多地方实例化,则可能就是问题所在。调用viewDidLoad的时间可能比调用其余方法的时间早得多。然后在vc之前唤醒该视图,调用vc的setView,但由于尚未唤醒该视图,因此它尚未调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)视图在vc之前被唤醒,vc的setView被调用,但由于它还没有被唤醒,它还没有调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)——解释为什么视图在vc之前被唤醒,vc的setView会被调用,但由于它还没有被唤醒,所以它还没有调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)——解释为什么视图在vc之前被唤醒,vc的setView会被调用,但由于它还没有被唤醒,所以它还没有调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)——解释为什么视图在vc之前被唤醒,vc的setView会被调用,但由于它还没有被唤醒,所以它还没有调用viewDidLoad,而是将其延迟到唤醒。如果没有超级呼叫,它永远不会知道:)q.e.d.;)——解释为什么会这样