0

我试图在不同的视图控制器中拥有单个产品对象的多个副本(即,您在购物清单中有一个产品,当您搜索查询 Web 服务并返回搜索到的产品时)。如果该产品在购物清单中,则搜索 tableviewCell 上有一个符号。

我想到了两种方法来做到这一点:

  1. 在单例类中有一个数组,该数组通过它们的 id 号将产品缓存在 NSMutableDictionary 中,并且每次创建产品时,它都会检查是否有一个产品。如果是这样,它只是使用已经存在的产品。我可以在产品中设置一个说明它是否在购物清单上的设置。
  2. 使用核心数据。我试图实现它,但不确定我该如何做到这一点。我正在考虑使用核心数据,这样当我更新产品对象时,它也会使用 NSFetchedResultsController 在应用程序的其他部分进行更新。

这种情况的“标准做法”是什么?

让我知道你的想法以及你将如何处理这个问题。谢谢!

4

2 回答 2

1

您可以对数据管理器类使用单例模式,它将您的数据保存在模型数组中(例如:产品)

如果您使用单例数据管理器(例如:ProductManager),那么您的数据(例如:产品实体)对于应用程序生命周期模式下的所有类文件都是持久的。

在这里您可以找到更多信息:

Objective C 单例类

http://www.galloway.me.uk/tutorials/singleton-classes/

希望这是您正在寻找的。

于 2013-06-27T15:23:54.770 回答
0

如果购物清单不需要写入磁盘,选项 1 就可以了。如果确实需要将其写入磁盘,则可以使用核心数据..或使用 sqlite 或 NSArchiver。有几种存储数据的方法。

于 2013-06-27T14:38:00.860 回答