iPad在Splitview中使用多个Masterviewcontrollers

3
我目前正在开发一个iPad分屏应用程序,它使用CoreData。
最初,MasterViewController向用户展示了一些案例的选择。当用户选择一个案例时,该案例的详细信息将显示在详细视图中。从这里开始,您可以使用嵌入在DetailView中的Tab栏来深入其他与案例相关的对象(即连接到案例的文档),这一切都很好地运作。
然而,一旦用户选择了一个案例,我想利用Master view的屏幕空间提供新选项:
DisplayManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
PersonMasterViewController  *mvc = [[PersonMasterViewController alloc] init];
mvc.comingFromCase = managedObject;
[self.navigationController pushViewController:mvc animated:YES];

这一切都很正常,我可以获得另一个主视图控制器的新项目列表。
我的问题是,如何让Detailview响应来自新的主视图控制器的命令? 在新的Masterviewcontroller中,我尝试了以下方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    DisplayManagedObject *selectedObject = comingFromCase;
    [self.detailViewController.navigationController popToRootViewControllerAnimated:YES];
    self.detailViewController.detailItem = selectedObject; 
    [self.detailViewController.tableView reloadData];
}

但是没有任何结果。有人能指点我正确的方向吗?

不要紧,我是个十足的白痴 -_- 因为我从新控制器再次调用了 Case,显然页面没有被刷新。所以我看不到任何区别。一旦我调用了其中一个基础对象,它就显示了正确的信息。 - Twan
1
尽管您已经自己回答了这个问题,但它仍然显示为未解决。请回答这个问题并接受您自己的答案,或者考虑删除它。 - occulus
1个回答

0

没关系,我是个彻头彻尾的白痴 -_- 由于我从新控制器再次调用了Case,显然页面没有刷新。所以我看不到任何区别。一旦我调用了其中一个底层对象,它就显示了正确的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接