我知道有人问过这个问题,但我尝试了所有解决方案都无济于事。
我的应用程序的选项卡之一是日志
当它被选中时,会显示一个带有日志列表的日志视图控制器
我在顶部菜单栏上有一个“+”来添加新日志
当我选择它时,我将添加日志视图控制器推送到堆栈上
我添加了一个新日志 - 然后我按下后退按钮
当我返回表格时,列表未更新
我想在返回到第一个视图控制器时重新加载表中的数据,但是在返回表时不会触发 viewDidLoad、viewDidAppear 或 viewWillAppear
由于第一个屏幕是健忘的
我将这些添加到第二个屏幕,试图找到返回按钮时发生的任何操作
-(void)viewWillDisappear{
NSLog(@" whered it go");
}
-(void)viewDidDisAppear
{
NSLog(@" disapeeeeeearing");
}
- (void)backAction {
NSLog(@" WHAT ABOTU THIS ");
[self.navigationController popViewControllerAnimated:YES];
}
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
[viewController viewWillAppear:animated];
NSLog(@"is ANY of this Happening");
}
当添加屏幕消失时,这些都不会触发没有打印 NSLog
从我读到的第一个屏幕上没有响应是因为日志表从未真正离开堆栈。
当我在另一个选项卡(应用程序的不同部分)上执行此操作时,这并没有发生
此选项卡的不同之处在于添加日志视图控制器有 5 个子视图,并且可以调用模式(尽管即使我不调用它们也会失败) - 我猜它与此有关。
从日志调用添加日志
AddViewController *controller =[[AddViewController alloc] initWithNibName:@"AddViewController" bundle:nil];
controller.passString= newText;
[self.navigationController pushViewController:controller animated:YES];
没有任何返回代码,只需单击屏幕顶部的后退按钮即可。
抱歉有任何拼写错误