我应该如何在视图控制器之间传递数组?

时间:2011-02-05 18:57:02

标签: iphone objective-c uiviewcontroller nsmutablearray

我正在构建一个使用TabBar控制器的应用程序,其中一个视图控制器设置了NSMurableArray(并且可能已修改)。然后,我需要使用相同的数组在其中一个视图选中时填充其他视图。我已经研究过使用单例(在本网站上已经提供了这个问题的答案),但运气不好。

单身人士是最好的方式还是有更好的方法?如果可能,我会感谢任何帮助/例子吗?

3 个答案:

答案 0 :(得分:1)

你有几种选择,这里有2 ...

1。)让NSMutableArray成为一个视图控制器的属性,以便另一个可以像viewController1.mutableArray那样访问它。只需将@property (nonatomic, retain) NSMutableArray *mutableArray添加到viewController类(使用您想要的任何名称)。

2.。)通过一个方法将数组从第一个viewController传递给另一个,并在另一个类中保持对该数组的引用。

答案 1 :(得分:0)

您可以将控制器“附加”到彼此,就像您将'ui元素'附加到控制器一样。例如,声明变量

IBOutlet ReferencedController *referencedMenu;

然后在Interface Builder中绘制引用和引用控制器之间的一行。

我能理解你吗?

答案 2 :(得分:0)

感谢您的帮助,最后我就是这样做的:

UIViewController * tmpNamesListVC = [self.tabBarController.viewControllers objectAtIndex:1]; self.names = [tmpNamesListVC names];

当它构建时我得到'UIViewController可能不响应-names'警告但是所有内容都编译并按原样运行。