我有一个应用程序在创建视图时填充列表视图。我希望能够使用后退按钮导航并返回到上一个屏幕,并且列出的数据仍然存在。这可能吗?
基本创建后退按钮似乎正在发生的事情是,当我按下它时,视图启动就像它是全新的,期望数据输入填充列表。是否可以保存上一屏幕的状态?而不是它被消灭,并在使用后退按钮时必须重新填充?我宁愿不必ping服务器我每次用户按下后退按钮时都会得到数据。特别是如果数据已经被抓过一次。
换句话说,我希望它能够像网页浏览器一样工作,屏幕状态会被保存,按下后面只会加载那里的内容,而不是再次ping网站的所有数据。
感谢。
答案 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];