【问题标题】:Keeping data in a UIViewController, even after go to a TablevViewController and come back?将数据保存在 UIViewController 中,即使在转到 Table ViewController 并返回之后?
【发布时间】: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


【解决方案1】:

我不这么认为。但我认为你正在重新加载 viewWillAppear 中的表格。这就是为什么你的旧值没有保留

【讨论】:

  • 您好 Swastik,感谢您有兴趣回答我的问题。我的问题不在于 UITableView,而在于 UIViewController。在我所说的这个 UIViewController 中,有一个包含多个字段的表单,其中包含用户输入的值。我也有一个在 UITableView 上实施的国家列表。当用户点击 UIViewController 中的按钮时,将显示 UITableView,当用户在 UITableView 中选择国家/地区时,焦点应返回到 UIViewController,所有字段都具有用户先前输入的值。
  • ....(续上一条评论) 我最初的想法是将所有数据保存在委托变量中,并在返回时重新填充 UIViewController。如果我选择这种方法,我需要存储大量数据。所以我正在考虑另一种方法来实现这一目标。斯瓦斯蒂克,你能帮帮我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 2020-02-24
  • 2018-05-11
相关资源
最近更新 更多