iOS:删除堆栈中的所有视图控制器(活动的除外)

问题描述:

在一个视图控制器中,用户可以恢复coredata数据库。在恢复之后,即使我已经重建了堆栈,很多东西可能在已经存在于内存中的其他视图控制器中不起作用。所以我只想摆脱所有这些,以便总是再次触发viewDidLoad方法,如果再次重新打开这些视图控制器之一。 我该如何强制?iOS:删除堆栈中的所有视图控制器(活动的除外)

我想说你应该把每个视图控制器的加载数据代码放在另一个函数比viewDidLoad,例如reloadData。所有的视图控制器也需要订阅通知(例如reloadAllViewControllers)。然后使用[NSNotificationCenter defaultCenter] postNotificationName:@"reloadAllViewControllers",您可以调用所有reloadData函数来重新加载所有viewController。