我有一个很长的方法来初始化我的核心数据。
我可以想到在最终应用中实现这两种方法:
在应用程序中包含该方法,如果没有数据则执行该方法。
从app中排除方法,提前创建一个SQLite数据库,将其包含在bundle中,如果没有数据则将其复制到documents文件夹中。
哪一个更好,还是我应该抛硬币?对于未来的操作系统更新,其中一个更安全吗?
答案 0 :(得分:3)
无论您选择哪种方式,都可以通过自动迁移轻松更新数据模型,但如果选择捆绑的数据库,将来的默认设置将更难处理。例如,您的长时间用户将不会获得您添加的任何未来默认值,因此如果您添加了一个很棒的新功能,并且他们已经拥有了数据库,那么除非您将它们放入代码中,否则它们将无法获得该功能的默认值,无论如何你必须编写代码。因此,我倾向于基于方法的解决方案。
这解决了老客户获得更新默认值的问题,并且在未来更新方面更加用户友好。因为你提到你的方法很长,向客户展示这个方法的标准方法是设置一个微调器和“初始化......这只会发生一次”之类的东西。