在我的 iPhone 应用程序中,有两个 UIViewController;两者都嵌入在 UITabBarController 中。然而,当 TabBarController 被点击并且 VC 的开关时,屏幕上的 VC 将数据上传到 NSUserDefaults,然后被切换到的 VC 从 NSUserDefaults 获取该数据。
我目前所做的是在第一个 VC 的 viewWillDisappear 中上传数据,然后在第二个 VC 的 viewWillAppear 中获取它。问题是即将放在屏幕上的 VC 的 viewWillAppear 在“旧”VC 的 viewWillDisappear 之前被调用,因此它会尝试获取尚未上传的数据。
我可以使用什么,所以“旧 VC”是第一个知道它什么时候要离开屏幕的人,这样它就可以在新的 VC 获取数据之前上传数据?
*我还尝试设置一个 UITabBArControllerDelegate 以便旧的 VC 会收到 - tabBarController:didSelectViewController: 但是调用也太晚了。