NSUserDefaults *并升级到新版本

时间:2015-06-02 22:51:06

标签: ios nsuserdefaults

我有一个应用程序可以在NSUserDefaults *中存储用户信息 当应用程序加载并运行时,它会读取此数据。

如果我在用户将应用升级到新版本时理解正确,那么它基本上就像删除并重新安装应用,这意味着所有用户数据都将丢失。

有没有办法将这些数据保存在用户设备的某个位置,可以访问多个应用程序并且在更新过程中不会删除?

2 个答案:

答案 0 :(得分:3)

  

如果我在用户将应用升级到新版本时理解正确,那么它基本上就像删除并重新安装应用,这意味着所有用户数据都会丢失。

这不正确。升级与删除和重新安装根本不同,因为它 不会 删除存储在NSUserDefaults中的任何内容,存储在文件系统中的文件,本地数据库中的信息等等......

简而言之,你应该没事做任何事情 - 数据将在更新之间持续存在。

答案 1 :(得分:1)

有趣的问题,我搜索过并发现了以下内容。

参考以下SOF post,SOF社区有很高的评价答案,

除非用户删除应用,否则通常不会重置它们。对于基本数据,NSUserDefaults是保存首选项,日期,字符串等数据的最佳方式。如果您希望保存图像和文件,文件系统是更好的选择。

但是,如果您要删除之前的NSUSerDefault设置,则可以使用

[NSUserDefaults resetStandardUserDefaults]

可以找到更多详细信息here