【发布时间】:2011-09-09 06:35:54
【问题描述】:
我有一个 UIViewController,其中包含一些 UITextFields,其中包含用户名和其他详细信息。我需要转到另一个视图,它是一个 UITableView,它保存国家列表供用户选择并在用户选择一个时再次返回 UIViewController。
我的问题是,当从 UITableView 返回时,我将丢失之前在 UIViewControl 中提到的所有数据。我可以在转到 UITableView 时使用应用程序的委托来存储数据,并在再次加载 UIViewController 时将它们加载回来。
我想知道,除了这种方法之外,是否还有其他方法可以实现我的目标?我必须在委托中使用多个变量来存储这些数据,因为有很多。
谁能帮我出个主意???
【问题讨论】:
-
好吧,您需要告诉我们更多信息。 viewcontroller 中的大多数数据都保存在那里,直到 viewcontroller 被卸载。但是,如果您使用 viewDidLoad 和 viewDidUnload 方法,那么当您推送视图时会发生更改,然后数据会被卸载。当您在 viewDidUnload 方法中重置数据时会发生这种情况(例如释放一个数组)。
-
你如何回到之前的控制器?
-
您好 rckoenes 和 Deepak,感谢您的意见和兴趣。非常感激。我认为回答迪帕克的问题可能会让事情变得清晰。我没有使用 UINavigationController(这是一个基于视图的应用程序),所以为了返回,我使用了dismissModalViewController,而不是从导航堆栈中弹出视图。我是 iPhone 应用程序开发的初学者,直到昨天才知道将视图推送和弹出到导航堆栈。我可以通过将视图推送和弹出到导航堆栈来获得 mu 答案吗?我重视你的建议。
标签: iphone cocoa-touch uiviewcontroller