2011-10-20 23 views
0

我有一个iPhone应用程序与三个视图,切换视图,数据采集视图和数据摘要视图。当应用程序启动时,调用切换视图的viewDidLoad委托被调用,然后数据获取视图的viewDidLoad委托被称为TWICE,随后是viewWillDisappear调用和数据获取视图的dealloc。这两个调用都来自我的切换视图中的同一行代码,当我为数据采集视图调用insertSubView时。一个调用来自UIViewController,一个来自UINib,它也被UIViewController调用。这有意义吗?IOS视图代表,当他们被称为

然后,当我采取用户输入来更改视图时,不会调用viewWillDisappear代表数据采集视图。我只是获取数据摘要视图的viewDidLoad调用。

我很困惑。我正尝试使用viewWillDisappear从数据采集视图中写出数据,然后可以将其读入数据摘要视图,但是鉴于此顺序,它不起作用。

任何想法?

+0

问题:1)您的三个视图使用单独的视图控制器吗? 2)采集视图的基本功能是什么,即网络访问或用户交互? 3)切换台视图首先在做什么? – NJones

+0

是的,我有三个独立的视图控制器(一个切换视图控制器,一个数据采集视图控制器,有很多按钮来收集用户的数据,一个视图摘要控制器报告数据。在其他两个视图之间进行交换 – user990380

+0

基于该评论的更新回答 – NJones

回答

0

为了解决什么似乎是你的最后/主要关注。否[DataAcquisitionView viewWillDisappear]不是填充SummaryView的地方。当你完成加载你的数据时,你应该明确地创建你的summaryView,然后用你需要总结的任何东西填充它的视图,然后呈现它。

根据你新的信息:

您要使用的tabBarController委托方法;

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{ 
    NSLog(@"Switch views"); 
} 

这将告诉你我们用户已经选择了不同的viewController你可以处理该事件。

+0

谢谢,但我不明白你的答案,问题是何时触发从数据采集视图中写出数据以便在视图加载时可以将其读回到数据汇总视图中。我怎么知道数据采集视图即将消失? – user990380

+0

谢谢,我会试试看。 – user990380