我目前正在使用适用于iOS的Mapbox SDK,并且遇到了有关常规数据管理的问题。
我有一个带有坐标和其他一些属性的表,该表大约有600至700行。现在我想知道在我的应用程序中存储和初始化此数据的最佳方法是什么?第二个问题,我应该在哪里初始化该数据?
问题1:是否应该将所有数据放入代码中并使用它初始化一个数组?还是创建一个本地数据库并从那里查询数据会更好?还是任何其他文件格式?
问题2:我应该在appDelegate中初始化数据/连接数据库吗?或最佳地点在哪里?
最佳答案
Core Data是超快速且高效的,因此,如果您拥有的数据是静态的,我只需将其以您拥有的格式(JSON,XML)将其添加到目标中,然后在应用程序上首先运行处理并将其存储到Core中数据,基本上是一个sql数据库。从那时起,您可以在项目的任何地方访问它。而且您不必在内存中保留700个项目数组。
Apple提供了AppDelegare中加载的Core Data堆栈模板,因此,如果您创建一个新的空项目并勾选使用Core Data,您将在AppDelegate中获得所有方法。然后,您可以将它们复制到项目中,定义模型,创建NSManagedObject子类并更新核心数据方法以反映正确的模型和文件名。
或者,您也可以在项目中包含预加载的sqlite,但我会保持简单并使用第一个选项。