0

在我的应用程序中,创建了一个 NSArray 来存储库搜索的各种结果。这个想法是每个 NSArray 的结果也应该存储在本地,这样如果将来再次进行搜索,就会检索到本地结果。

现在,我一直在考虑两种不同的方法。第一种是在第二个视图控制器中简单地创建一个数组,用于存储不同的结果数组。第二种方法是创建一个名为 Search 的类(例如),它有一个 NSArray 属性来存储结果。该对象将在第二个视图控制器中启动(然后将其添加到自己的数组中)。

这有意义吗?在内存管理方面一个比另一个好?另外,我需要使用委托函数将数据传递到第二个视图控制器,对吧?谢谢

4

1 回答 1

1

个人觉得差别不大。要澄清第二个选项,请创建一个单例对象,您的 Search 类可让任何客户端类(视图控制器)使用该对象。该单例提供了一个存储函数和一个检索最后一个结果函数。

您可以通过只使用类本身来使这更简单——类方法来存储和检索,然后该类使用静态 NSMutableArray(或 NSArray)来保存对象。

如果你想让这个数组在重启后可用,那么使用 NSUserDefaults。如果您的数组中的内容无法保存为默认值(某些对象不能),您可以将数组转换为 NSData 对象并将其存储(如果所有对象都符合 NSCoding,则您的状态良好。

于 2012-07-28T20:54:46.660 回答