有谁知道如何从不同的视图控制器访问变量?

时间:2011-08-08 22:02:17

标签: xcode viewcontroller

我需要打电话:

 @property (nonatomic, retain) IBOutletCollection(UIButton) NSArray *buttons;
来自viewcontroller x的

但是能够从视图控制器y访问和设置按钮颜色。基本上我正在制作一个允许不同配色方案的设置页面。有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

在实例化视图控制器Y时,需要将引用传递给视图控制器X:

ViewControllerY *viewController = [[[ViewControllerY alloc] initWithNibName:@"ViewControllerY" bundle:nil] autorelease];
viewController.viewControllerX = myRefToViewControllerX; //declare a property on your ViewControllerY
//show view controller Y

答案 1 :(得分:0)

您可以使用委托。

基本上,viewcontroller y将是viewcontroller x的委托,每次有人更改设置页面时,viewcontroller x都会通知viewcontroller y该更改。 X会像这样通知Y:

[delegate doSomething withParameter: parameter]

Viewcontroller y然后会使用该参数(您尝试传递的变量)执行某些方法。

还涉及其他一些事情,因此您应该阅读授权