我有一个应用程序,其根视图是拆分视图。 Xcode 4.3,iOS 5.1,使用故事板,coreData和ARC。
拆分视图包含viewController
(左侧的主VC)和tabViewController
(右侧的detailVC)。
在主VC上,我有4个不同的UITableViewControllers
根据用户选择的单元格滑入,一个香草UIViewController
,然后是另一个UITableViewController
。深入分析是:登录,选择州,选择县,选择市政当局,(到目前为止所有的表格视图)然后在UIView
中选择一些过滤,然后(最后一个表格视图)显示所有项目。这是向下钻取到一个位置,当用户钻取时,细节侧index:0
处的视图控制器(包含地图视图)放大。(希望这是有意义的)。
左边的最后一个桌面视图填充了一堆项目 - 右边的详细视图控制器是显示左侧项目位置的注释地图,或者因为它是一个tabview,所以详细列表所有项目细节。
一直以来(在左侧向下钻取期间)我设置了self.mapViewController = (MapViewController *) [tabBarController.viewControllers objectAtIndex:0];
以便我可以将东西传递给地图,当传递新内容时(即-(void)setLocationItem:(id)newLocationItem)
),地图将是configView新项目。
在向下钻取期间一切都很好 - 用户选择州,县,市和详细地图视图越来越近,但是当我们到达列出所有项目的tableview时,我发现{{1} (对于那个视图控制器)是空的!我无法设置细节或地图视图控制器来传递属性(我想要缩放的项目或显示详细信息)。
我还应该提一下,当我使用核心数据和self.splitViewController.viewControllers
时,这一切都很有效 - 现在我正在处理一个Web服务而且不再(对于这个代码的分支)传递一个托管对象 - 只需在出现的下一个视图上设置属性。