【发布时间】:2011-10-20 23:53:20
【问题描述】:
我有一个 iPhone 应用程序,它具有三个视图、一个切换器视图、一个数据采集视图和一个数据摘要视图。当应用程序启动时,切换器视图的 viewDidLoad 委托被调用,然后数据获取视图的 viewDidLoad 委托被调用 TWICE,接着是 viewWillDisappear 调用和数据获取视图的 dealloc。这两个调用都来自我的切换器视图中的同一行代码,也就是我为数据采集视图调用 insertSubView 时。一个调用来自 UIViewController,一个来自 UINib,它也被 UIViewController 调用。这有意义吗?
然后,当我接受用户输入来更改视图时,不会调用数据采集视图的 viewWillDisappear 委托。我刚刚收到数据摘要视图的 viewDidLoad 调用。
我很困惑。我正在尝试使用 viewWillDisappear 从数据采集视图中写出数据,然后可以将其读入数据摘要视图中,但是鉴于此顺序,它不起作用。
有什么想法吗?
【问题讨论】:
-
问题:1)您的三个视图是否使用单独的视图控制器? 2)采集视图的基本功能是什么,即网络访问或用户交互? 3)切换器视图首先在做什么?
-
是的,我有三个独立的视图控制器(一个切换视图控制器、一个带有许多按钮的数据采集视图控制器以从用户那里收集数据,以及一个报告数据的视图摘要控制器。切换器视图只是管理窗口底部的一个选项卡,用于在其他两个视图之间切换。
-
根据该评论更新了基于答案。
标签: ios delegates uiviewcontroller