我正在构建一个使用TabBar控制器的应用程序,其中一个视图控制器设置了NSMurableArray(并且可能已修改)。然后,我需要使用相同的数组在其中一个视图选中时填充其他视图。我已经研究过使用单例(在本网站上已经提供了这个问题的答案),但运气不好。
单身人士是最好的方式还是有更好的方法?如果可能,我会感谢任何帮助/例子吗?
答案 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'警告但是所有内容都编译并按原样运行。