iOS:在第二个视图控制器中嵌套数组 - 使用对象?

时间:2012-07-28 18:36:22

标签: ios object delegates multidimensional-array

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

如果要在重新启动时使此阵列可用,请使用NSUserDefaults。如果数组中的内容无法以默认值保存(某些对象不能保存),您可以将数组转换为NSData对象并存储(如果所有对象都符合NSCoding,那么您的状态良好。

相关问题