2
我有一个相当长的方法来初始化我的核心数据。为iPhone应用程序初始化核心数据的最佳方式?
我能想到的两种方式在最后的应用程序来实现这一点:
包括在应用程序的方法,如果没有数据执行它。
从应用程序中排除该方法,提前创建SQLite数据库,将其包含在捆绑包中,并在没有数据的情况下将其复制到文档文件夹。
哪一个更好,或者我应该只是抛硬币?其中一个更安全的未来操作系统更新?
我有一个相当长的方法来初始化我的核心数据。为iPhone应用程序初始化核心数据的最佳方式?
我能想到的两种方式在最后的应用程序来实现这一点:
包括在应用程序的方法,如果没有数据执行它。
从应用程序中排除该方法,提前创建SQLite数据库,将其包含在捆绑包中,并在没有数据的情况下将其复制到文档文件夹。
哪一个更好,或者我应该只是抛硬币?其中一个更安全的未来操作系统更新?
无论您选择哪种方式,自动迁移数据模型的未来更新都很容易,但如果选择捆绑的数据库,将来的默认值将更难处理。例如,您的长时间用户将不会获得您添加的任何未来默认值,因此如果您添加了一个很棒的新功能,并且他们已经有一个数据库,那么除非您将它们放在代码中,否则它们将不会获得该功能的默认值在这一点上,你必须编写代码。因此,我会倾向于基于方法的解决方案。
这解决了老年顾客获得新的违约问题,更是用户在未来的更新方面的友好。因为你提到你的方法很长,向客户介绍这种方法的一种标准方式是放置一个微调器,并沿着“正在初始化......这将只发生一次”之类的东西。