我有SplitViewController
两个UITableViewController
(我们称它们为 A 和 B),NavigationController
由MasterView
. DetailView
正在显示所谓的 prepfiles(图像种类),这些文件是通过单击 A 中的 prepfile 的名称来设置的。然后 B 显示 prepfile 的更多信息。当我从 B 到 A 按下后退按钮时,它DetailView
被清除了。
在下面的代码中,我试图将当前选择的 prepfile 设置为 Master- 并且DetailView
在从UITableViewController
A 到 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.detailViewController
viewDidLoad
如下创建
- (void)viewDidLoad
{
[super viewDidLoad];
self.detailViewController = [self.splitViewController.viewControllers lastObject];
}
这工作正常,直到我点击从 B 到 A 的后退按钮并再次选择相同的 prepfile。该prepareForSegue
段被调用,detailViewController setPrepfile
但未调用,因此DetailView
保持为空。当我在 A 中选择另一个 prepfile 时,它会再次起作用。
任何人都知道为什么在返回后选择相同的 prepfile 时它不起作用navigationController
?