从masterView设置detailView时的UINavigationController + SplitView问题

时间:2012-11-02 11:39:44

标签: ios ipad uinavigationcontroller uisplitviewcontroller

我有一个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.detailViewControllerviewDidLoad中创建,如下所示

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

这个工作正常,直到我从B到A的后退按钮再次选择相同的准备文件。 调用了prepareForSegue段,但未调用detailViewController setPrepfile,因此DetailView保持为空。 当我在A中选择另一个预备文件时,它再次起作用 回到navigationController之后选择相同的准备文件时,有什么想法为什么不起作用?

0 个答案:

没有答案