我有一个SplitViewController
,其中有两个UITableViewController
(我们称之为A和B)由NavigationController
中的MasterView
管理。
DetailView
显示所谓的prepfiles(图像种类),通过单击A中的prepfile名称来设置。然后B显示更多信息到prepfile。
当我从B到A的后退按钮时,DetailView
被清除。
在下面的代码中,我试图将当前选定的预备文件设置为Master {和DetailView
,从UITableViewController
A到B的推送segue。
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的后退按钮再次选择相同的准备文件。
调用了prepareForSegue
段,但未调用detailViewController setPrepfile
,因此DetailView
保持为空。
当我在A中选择另一个预备文件时,它再次起作用
回到navigationController
之后选择相同的准备文件时,有什么想法为什么不起作用?