2

我正在请求一个可能包含 10-100 个对象的数组,所有这些对象都是我解析为 NSDictionary 的 JSON 对象。我想缓存它并在整个应用程序中使用这些数据。NSCache 对此有用还是使用 NSUserDefaults 更好,或者实际上是在整个应用程序中持久化数据的最可接受的方式?核心数据?我是iOS新手,在这方面没有太多经验。

4

1 回答 1

3

您正在寻找的是一种在您的应用程序中访问数据的方法。这通常是模型在 MVC 中扮演的角色。

CoreData 和NSUserDefaults是保存数据的方法,因此当您的应用程序关闭或退出时它不会丢失。它们可以是模型的一部分,但无助于在整个应用程序中访问该数据。

如果您想要一个存储数据并且可以在代码中的任何位置访问的对象,您可能正在寻找一个 Singleton。

正如这个出色的 Stack Overflow 答案所解释的

使用单例类,我一直将它们用于需要从应用程序内部的任何位置访问的全局数据管理器类。

作者提供了一些示例代码,您可能会觉得有帮助

这将允许您创建一个简单的对象,该对象可在您的具有 NSDictionaries 的程序中访问。因为它是一个单例,所以程序中的其他类可以轻松访问它——这意味着它们也可以轻松访问您存储在其中的 NSDictionaries。

如果您确实决定要保存数据,那么该单例对象也将是编写任何加载和保存代码的理想位置。

祝你好运!

其他好的资源是:

于 2012-12-12T08:15:26.617 回答