【发布时间】:2011-02-03 22:57:58
【问题描述】:
我正在编写一个 iPhone 应用程序来使用 MapKit 在 Google 地图上显示项目的位置。我有一组要在地图上显示的项目。这些项目会随着时间而改变,所以我想在网络服务器上集中管理它们,并允许客户端在新版本可用时获取它。有几种方法可以做到这一点,我想就我目前的想法或建议提供一些意见,以提供更好的替代方案。
首先,我想使用 Core Data 将项目存储在 iPhone 上,因为我将其用作学习 Core Data 的机会,就像其他任何东西一样。不过,我想听听关于服务器端存储和数据格式的想法,以便 iOS 转换为 Core Data 对象。
- 在服务器上保留一个包含所有项目的平面 XML 文件。让应用程序定期检查新版本(我会从手机上做一个 GET 来检查),当检测到新版本时,我会下载整个 XML 文件(~1MB)并使用 NSXMLParser 解析它并基本上擦除现有的 Core Data 对象并使用新对象填充存储。
- 将对象存储在服务器上的数据库中,使用 PHP 作为 XML 文件提供它们。让应用定期检查新的/更新的条目,然后获取、解析它们并添加到商店。
- 将对象存储在服务器上的数据库中,使用 JSON 或其他格式为它们提供服务,这将比以前使用 XML 和 NSXMLParser 的方法更好(如果有更好的方法,我正在寻找这方面的建议XML 等)
所以,我想要在手机上使用 Core Data 的解决方案,我了解 NSXMLParser,所以我知道如何真正实现该解决方案。我想知道是否有其他提供数据的方法可以减少将服务器端数据转换为 Core Data 对象所需的操作量。
【问题讨论】:
标签: iphone objective-c ios core-data