如何在另一个视图(目标c)中传递变量的值?

时间:2011-05-29 18:31:55

标签: iphone objective-c cocoa-touch

我有两个控制器

在view1.h我有

NSString *bg;
@interface Lottery5ViewController : UIViewController {...}

在view2.m中我有

-(IBAction) switchView2{
self.bg = @"blueButton.png";
}

但它无法编译并说 要求成员'bg'不是结构或联合

我只想修改view2中view1变量的值

1 个答案:

答案 0 :(得分:0)

您的问题是在view2的{​​{1}}方法中,您正在调用switchView2并尝试更改ivar(或属性,不确定它来自显示的代码)一个不同的类。如果要将某个实例发送到另一个实例,则必须先在它们之间建立某种连接。有几种方法可以让他们说话。能够传递这样的事情的更好方法是设置委托协议或使用通知,然后self可以调用在view2中进行更改的委托方法或发布{{1}的通知1}}将被注册,以便它可以进行更改。实现这一目标的不太理想的方法是给view1一个view1的ivar(或属性)。然后,您就可以使用类似view2的内容。