【问题标题】:Use plist/XML to download and cache detailed data?使用 plist/XML 下载和缓存详细数据?
【发布时间】:2011-01-11 01:11:43
【问题描述】:

我是一位经验丰富的 C++/Java 程序员,但对 iOS 不熟悉。

我正在编写一个 iPhone 应用程序,它允许用户浏览非常少量的详细分层数据,例如目录中的 10 本书。该应用程序将拥有手机上的所有数据。最初,可以在没有任何数据或一组静态数据的情况下将应用程序部署到应用程序商店,但是随着用户随着时间的推移使用应用程序,应用程序应该从我的服务器下载并缓存新的或修改的内容。 (例如,如果一本书被删除或添加到目录中,它应该反映在用户的手机中。)

这样做的最佳方法是什么?我知道我想在我的应用程序开始检查新更新时轮询我的服务器(例如,检查服务器上保存最后更新时间戳的文件)。现在,我应该以什么格式下载新数据?我应该如何维护这些数据?我应该只下载 plist/XML 文件并在 iPhone 上管理它们,还是应该使用 SQLLite 做一些更复杂的事情?

再次,数据量比较少。

【问题讨论】:

    标签: iphone ios plist


    【解决方案1】:

    我会使用应用随附的 pList 填充您的初始数据集(因此您无需在启动时等待网络响应)。我会通过来自服务器 (a good Objective-C JSON parser) 的 JSON 数据请求来刷新数据。

    考虑到您的小数据集,我不会去 SQLLite DB 的额外努力。您可以将该数据保存在内存中并将其保存在平面文件中。查看NSData writeToFile

    【讨论】:

    • 我非常熟悉 XML,但不熟悉 JSON。这些天更可取吗?另外,我对 NSData 不太了解;它与在内存中维护 plist 并从文件中写入/读取它的方法相同吗?
    • @stackoverflowuser2010 NSData 只是一个充满字节的缓冲区的包装器。您可以使用它来存储从服务器返回的 JSON(或 XML,如果您愿意)字符串。我更喜欢 JSON 而不是 XML,但也有不错的 XML 解析器,所以两者都可以。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多