我正在为iPhone (iOS 5)编写一个应用程序。我要做的是使用从服务器获得的二进制数据创建一个映射。有些问题实际上运作得很好:
但现在又到了最困难的部分。我创建的地图应该是可缩放的和可移动的。因此,我必须向服务器发送新的请求并重新绘制地图。这也很好,但我现在已经收到的数据需要存储,因为我不应该两次从服务器请求相同的数据(例如,如果我放大后返回)。
最后,我的问题是:存储数据的最佳方法是什么?直到现在,我还在考虑使用CoreData或SQLite。还有更好的解决办法吗?我应该保存哪些数据-二进制数据还是创建的对象?
我希望这是可以理解的,你至少可以帮我解决一个问题.
发布于 2012-03-13 13:28:45
发布于 2012-03-13 23:34:37
这实际上取决于数据对象的大小和访问它们的方式。如果您的对象很小,可以将它们存储在Core数据中。但是,如果您的地图数据是来自一组URL的图像,我将使用Core来存储到映射图像URL的映射,并使用NSURLConnection来管理对象的缓存。
我建议阅读苹果核心数据编程指南大型数据对象(BLOB),它讨论对象的大小和数量。以下摘录如下:
“小”、“适度”和“大”的确切定义是流动的,取决于应用程序的使用。一个松散的经验法则是,按千字节大小排列的物体是“中等”大小的,而大小顺序是“大”的。 对于大小较小的BLOB(和CLOBs),您应该为数据创建一个单独的实体,并为属性创建一个对一的关系。 但是,如果您能够将BLOB存储为文件系统上的资源,并维护指向这些资源的链接(例如URL或路径),则会更好。然后,您可以在必要时加载BLOB。
https://stackoverflow.com/questions/9683721
复制相似问题