1

我有SplitViewController两个UITableViewController(我们称它们为 A 和 B),NavigationControllerMasterView. DetailView正在显示所谓的 prepfiles(图像种类),这些文件是通过单击 A 中的 prepfile 的名称来设置的。然后 B 显示 prepfile 的更多信息。当我从 B 到 A 按下后退按钮时,它DetailView被清除了。

在下面的代码中,我试图将当前选择的 prepfile 设置为 Master- 并且DetailView在从UITableViewControllerA 到 B 的推送self.detailViewController中是指向DetailView.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    TestTVC *targetTVC = (TestTVC *)segue.destinationViewController;
    targetTVC.prepfile = self.prepfile;
    [self.detailViewController setPrepfile:self.prepfile];
    NSLog(@"detailController: %@", [self.detailViewController description]);
}

self.detailViewControllerviewDidLoad如下创建

- (void)viewDidLoad
{
    [super viewDidLoad];  
    self.detailViewController = [self.splitViewController.viewControllers lastObject];    
}

这工作正常,直到我点击从 B 到 A 的后退按钮并再次选择相同的 prepfile。该prepareForSegue段被调用,detailViewController setPrepfile但未调用,因此DetailView保持为空。当我在 A 中选择另一个 prepfile 时,它​​会再次起作用。
任何人都知道为什么在返回后选择相同的 prepfile 时它不起作用navigationController

4

0 回答 0