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

iOS:在第二个视图控制器中嵌套阵列-使用对象?,ios,object,delegates,multidimensional-array,Ios,Object,Delegates,Multidimensional Array,在我的应用程序中,创建了一个NSArray来存储库搜索的各种结果。其思想是,每个NSArray结果也应该存储在本地,这样,如果将来再次进行搜索,就可以检索本地结果 现在,我一直在考虑两种不同的方法。第一种方法是在第二个视图控制器中创建一个数组,用于存储不同的结果数组。第二种方法是创建一个名为Search(例如)的类,该类具有一个NSArray属性来存储结果。该对象将在第二个视图控制器中启动(然后将其添加到自己的数组中) 这有意义吗?在内存管理方面,一个比另一个好吗?另外,我需要使用委托函数将数据

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

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

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

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

只需使用类本身-类方法来存储和检索,然后该类使用静态NSMutableArray(或NSArray)来保存对象,就可以使这一过程变得更加简单

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