【问题标题】:How do you save the state of the detail view in a master-detail ios app?如何在主从 ios 应用程序中保存详细视图的状态?
【发布时间】:2012-11-27 23:41:16
【问题描述】:

我有一个主从应用程序,对于主视图中的每个单元格,我想要一个唯一的详细视图。我认为,在退出视图时,我可以做的是保存详细视图的状态,然后选择不同的单元格时,以某种方式访问​​该视图的保存数据并在详细视图上显示它。详细视图上唯一的对象类型是文本视图和图像视图。我该怎么做呢?有没有更好的办法?

【问题讨论】:

  • 关于您的模型的信息不足。您从哪里获取详细视图的信息?
  • 我在 xcode 中使用默认的主从模板。我有一个主视图和一个详细视图,每个视图都有一个视图控制器
  • 我的意思是,对于您的每个详细视图,您从哪里获取信息以填充您的详细视图?还是您的详细视图中有空白/默认信息?
  • 我有一个图像视图,然后我添加了多个文本视图。我希望我的应用能够记住详细视图的状态,具体取决于选择了主视图中的哪个单元格。
  • detailviewcontroller 控制添加的 textsview 和 image view 上显示的内容

标签: ios iphone xcode ipad


【解决方案1】:

如果主详细视图类似于设置页面,那么您可以将该数据保存在NSUserDefaults

=> 设置值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue: @"some_value" forKey: @"some_setting"];
[defaults synchronize];

=> 检索值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.label1.text = [defaults stringForKey: @"some_setting"];

您可以使用Model,如下所示:

Model - A common class that remembers all the settings/configurations
Master VC - Do some changes and store those changes in the Model
Detail VC - Access the Model and display cells accordingly

【讨论】:

  • 可以用于图像视图吗?主视图中的文本视图数量和不同单元格的数量也是无限的,所以如果我不知道有多少,我将如何为每个单元格制作一个密钥?
  • 如果您有无限单元格,那么就像@sosborn 建议的那样,最好使用模型来存储该信息。我已经更新了我的答案,让您大致了解如何实现 Model
  • 如何使用模型?我以前从来没有做过这样的事
  • 它是一个简单的类来存储和检索数据
  • 看看cupsofcocoa.com/2011/08/13/…并搜索MVC的模型示例
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
  • 2013-12-26
相关资源
最近更新 更多