可以使用Nav Bar返回上一个视图而不会丢失View的数据?

时间:2012-01-19 15:43:49

标签: iphone objective-c ios xcode

我有一个应用程序在创建视图时填充列表视图。我希望能够使用后退按钮导航并返回到上一个屏幕,并且列出的数据仍然存在。这可能吗?

基本创建后退按钮似乎正在发生的事情是,当我按下它时,视图启动就像它是全新的,期望数据输入填充列表。是否可以保存上一屏幕的状态?而不是它被消灭,并在使用后退按钮时必须重新填充?我宁愿不必ping服务器我每次用户按下后退按钮时都会得到数据。特别是如果数据已经被抓过一次。

换句话说,我希望它能够像网页浏览器一样工作,屏幕状态会被保存,按下后面只会加载那里的内容,而不是再次ping网站的所有数据。

感谢。

2 个答案:

答案 0 :(得分:2)

绝对有可能。最好的方法是将列表中的数据存储在核心数据中,然后每当您的视图出现时,您都可以检查是否已保存数据,如果没有,则转到网络并填充数据

答案 1 :(得分:0)

您还可以使用NSUserDefaults来存储数据,而不是核心数据。这取决于您计划存储的数据。

更新1 以下是使用NSUserDefaults

的示例
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* recentlyViewedPhotos = [[defaults objectForKey:@"recentlyViewedPhotos"] mutableCopy];
//Edit your object here
[defaults setObject:recentlyViewedPhotos forKey:@"recentlyViewedPhotos"];
[defaults synchronize];