如何创建持久的iphone缓存

时间:2011-05-16 01:13:39

标签: iphone caching core-data nsurlconnection

所以我一直在做很多阅读,发现NSCache不是持久的,这对我需要做的事情来说是一个小问题。我听说我需要使用核心数据......但我对核心数据没有任何经验,所以我想知道它是否是持久数据的唯一解决方案。

该应用程序将允许用户通过在代码中键入搜索参数来搜索目录,并为其搜索参数选择分发器。当我加载应用程序时我想要做的是下载分发器列表并将它们保存到“缓存”,这将是持久的(直到我将在某些时候做出的标题更改并要求应用程序更新缓存),所以如果用户下次转动应用程序或手机,则打开制造商。

现在我已经越来越深入了解我的应用程序,我正在逐渐失去信息,例如如何设置一个关于NSURLConnection的缓存工作。

非常感谢任何建议或代码示例。

2 个答案:

答案 0 :(得分:2)

previous answer of mine可能会帮助您做出决定。

总结一下:

  1. 如果您的数据很小,静态且复杂度低,请使用集合类并使用内置类方法将其写入磁盘
  2. 如果数据是静态的,低复杂性但很大,SQL可能是一个很好的解决方案,特别是如果您已经知道它。
  3. 如果数据是动态且复杂的,无论大小如何,那么Core Data是您的最佳选择。
  4. 纯粹从技术角度来看,Core Data始终是iOS / MacOS API应用的最佳选择。 Core Data不仅仅是一个持久性API,它还是一个API,用于创建Apple API使用的Model-View-Controller设计范例的模型层。它不仅可以保留数据,还可以对数据进行建模,验证数据并为API的其余部分提供简单的界面。

    如果你要编写iOS应用程序,你需要最终学习核心数据。但是,它确实有一个学习曲线,您应该立即选择允许您发布可用应用程序的方法。

答案 1 :(得分:1)

您还可以查看sqlite。这是另一个讨论在手机上开始使用sqlite的问题:Where's the best SQLite 3 tutorial for iPhone-SDK?

sqlite的优势在于它很容易上手。缺点是您必须为所有内容编写查询,这可能会很痛苦。它不保存对象,只保存数据,数字或文本。