0

我目前正在使用适用于 iOS 的 Mapbox SDK,并遇到了有关一般数据管理的问题。

我得到了一个带有坐标和其他一些属性的表格,表格大约有 600 到 700 行。现在我想知道在我的应用程序中存储和初始化这些数据的最佳方式是什么?第二个问题,我应该在哪里初始化这些数据?

问题 #1:我应该将所有数据放入代码中并用它初始化一个数组吗?还是创建一个本地数据库并从那里查询数据会更好?还是其他文件格式?问题 #2:我应该在 appDelegate 中初始化数据/连接到数据库吗?或者在哪里做这个最好的地方?

4

2 回答 2

1

Core Data 超级快速且高效,因此如果您拥有的数据是静态的,我只需将其以您拥有的格式(JSON、XML)添加到您的目标,然后在应用程序首先运行处理它并将其存储到 Core数据,它基本上是一个 sql 数据库。从那时起,您可以在项目中的任何地方访问它。而且您不必在内存中保存 700 个项目数组。

Apple 为 Core Data 堆栈提供了模板,该模板加载在 AppDelegate 中,因此如果您创建新的空项目并勾选使用核心数据,您将获得 AppDelegate 中的所有方法。然后,您可以将它们复制到您的项目中,定义您的模型,创建 NSManagedObject 子类并更新您的核心数据方法以反映正确的模型和文件名。

或者,您也可以将预加载的 sqlite 包含到您的项目中,但我会保持简单并使用第一个选项。

于 2014-03-02T17:47:10.487 回答
0

logan的建议很接近——您希望TileMill自己将数据烘焙到图块中,然后可以将它们作为SDK 中的一个RMMapboxSource或覆盖层。RMMBTilesSource

如果您的数据需要比这更多的新鲜度,那么 600-700 条记录应该可以正常工作,mapView.annotations因为它们仅在屏幕上绘制时(在需要绘制每个时,代表请求图层)。

于 2014-03-03T21:17:52.233 回答