2014-02-19 96 views
1

我正在创建一个应该下载大量JSON文件的应用程序,并且第一次启动时,我正在考虑在应用程序文件夹中插入这些文件。通过这种方式,当用户下载应用程序时,不需要第一次下载这些文件,我可以离线填充数据库。 然后,(例如几个小时),这个应用程序下载新文件(在后台下载,解析和更新数据库),它具有所有数据更新。 这是完美的,但它有一个大问题:如果用户删除应用程序并再次下载(例如一周后),他可以查看旧数据; 什么可以解决这个“问题”?iOS:在第一次启动应用程序时管理数据

谢谢

回答

2

iOS应用程序只能写入数据到它的文件夹。此文件夹将与应用程序一起完全删除。所以没有理由担心旧数据。

更新: 应用程序文件夹被完全删除。但是,如果用户开启此功能,旧数据可以与iCloud同步。为避免这种情况,您应该将数据标记为禁止同步。你可以在这里找到解决方案Prevent iCloud sync of data (using .nosync?)

+1

对此的一个警告 - 如果数据存储在钥匙串中,则在应用程序被删除时它不会被删除。如果旧数据不需要,应采取其他预防措施。 –

+0

有用的笔记。 +1。 – Avt

+0

是的,但在应用程序保持旧数据,当你再次下载它 – CrazyDev

0

这不是一个问题 - 如果用户从现在起2个月内安装你的应用程序,他还将拥有“旧”数据,直到从网络获取任何更新的数据。如果您想要在您的应用中提供的数据在几周后没有任何价值,那么为什么还要预加载它呢?

您应该尝试尽快从网站加载更新的数据,以确保用户看到的数据是最新的数据。

顺便说一句,您还可以为您的应用程序提供预加载的数据库 - 您无需在第一次启动时使用JSON文件填充空数据库。

+0

mmm好吧,那么你建议不要在开始时存储数据...并尽快下载所有数据...好吧 – CrazyDev

+0

这取决于:if在一开始就有一些数据是有意义的 - 比方说一些欢迎文本 - 这在2个月内也是有用的,初始加载需要数小时,然后预加载它。如果将来数据或多或少没有用处,并且用户需要当前数据,则不要担心预加载。 – TheEye

相关问题