寻求iPhone应用程序架构建议:管理数据

时间:2009-10-08 17:24:10

标签: iphone design-patterns core-data

我构建了一个简单的iPhone应用程序,用于解析远程XML Feed中的数据,将信息转换为对象(它们是视频),并在标准表格视图中显示视频 - >详细信息视图 - >“播放视频“用户界面。有数百个视频,每个视频都有大约十个属性。 (视频永远不会下载,只能使用MPMoviePlayerController进行流式传输。)我依靠Apple示例应用程序SeismicXML来完成应用程序的大部分行为。

现在我已准备好进行下一步:将视频元数据保存到设备,这样用户每次启动应用程序时都不会被迫等待XML检索和解析。我打算使用Core Data来保存我的Video对象(以及它们的父对象),但这对我来说都是全新的。

我的问题是:人们可以推荐任何示例应用程序或设计模式来管理这些数据吗?我想让应用程序在启动时自动下载并解析XML,但是只有当用户点击“刷新”按钮时,或者如果数据比某天更旧时,它才会刷新数据。

模仿此行为的应用是NYTimes,AP和许多其他应用。

除了Apple为Core Data提供的优秀文档外,是否有任何资源可用于构建需要下载,保存和定期刷新其数据的iPhone应用程序?

感谢。

2009年12月11日的更新:在TheElements,TopSongs,CoreDataBooks,PhotoLocations,iPhoneCoreDataRecipes和XMLPerformance的Apple示例代码之间,我为这里的工厂提供了大量的支持。我正在分析样品,慢慢拼凑我需要的东西。

1 个答案:

答案 0 :(得分:2)

看起来你找到了所有Apple样品,所以这很好。

实用程序员有一个book on Core Data,其中一些iPhone SDK书籍(包括他们的书)稍微触及了Core Data。另请参阅this question

修改:忘记提及Three20(Facebook应用程序的内容,开源)作为一种不是核心数据的方法的示例。 Three20不是在一些与Core Data持久存在的对象图中重新构建下载的数据,而是在URL加载系统之上实现磁盘缓存和新鲜度约会。该应用程序基本上仍然可以通过进行HTTP API调用和解析响应来工作,但不必在每个屏幕显示上与云通信,这极大地加快了速度。如果您只是下载此信息以在大表视图中显示,而不是其他任何内容,那么这个模型可能会更容易。