这是我的问题。使用Storyboard的segue,我有一个用于按钮的popover segue。 UIPopoverController中的UIViewController需要从服务器加载数据。使用Storyboard,每次关闭弹出窗口时,视图都会被释放,因此每当弹出窗口再次出现时,它会尝试再次从服务器加载数据。我不想要这种行为。如何防止Storyboard重置弹出控制器内的视图控制器?像UITabBarController那样的东西。 UITabBarController第一次调用viewDidLoad,并且后续的选项卡切换调用viewWillAppear。
答案 0 :(得分:4)
Segue就是这样设计的。每次你做segue - 视图都会被加载。 如果你需要存储它的数据 - 你应该将它存储在popover之外并使用这个方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([[segue identifier] isEqualToString:@"your segue identifier"])
{
//get popover
ViewController *vc = [segue destinationViewController];
//Set popover data to vc here
}
在segue之前调用,并在此方法中将数据设置为popover。 如果您将使用它 - 请不要忘记在Interface Builder中设置Segue标识符。