我目前正在创建具有以下架构的应用:
这些文章是体育运动员的新闻,我目前正在尝试做的是允许用户点击DetailedViewController上的按钮以保存"那个运动员,这样我就可以实现一个" MyPlayersViewController"这将显示仅与他们保存的球员有关的文章。我的问题是,当我将玩家的唯一ID保存到" MyPlayersArray"在" DetailedViewController"我失去了保存信息的能力,因此当用户返回ViewController然后进入另一篇关于同一玩家的文章时,应用程序忘记了哪些玩家已被保存。
关于我应该如何尝试实现这个或我应该阅读的任何提示将不胜感激。
答案 0 :(得分:0)
如果您希望在多个用户会话中保留数据(用户可以关闭应用并稍后返回),请使用NSUserDefaults
将playerID
保存到磁盘
[[NSUserDefaults standardUserDefaults] setObject:<youArrayOfIDs> forKey:"myPlayerIDsArray"];
[[NSUserDefaults standardIserDefaults] synchronize];
如果要将大量数据保存到磁盘,还要检查核心数据
如果您想在viewController
appDelegate
声明变量时希望防止您的对象丢失
myDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];
MyPlayersArray=myDelegate.myPlayerIDsArray
//where myPlayerIDsArray is an object declared in your appDelegate which won't loose its data until app is active
此外,您可以在对象声明前添加前缀static
,以便在应用当前生命周期中始终保存