我想你已经使用该方法实现MainViewController
以下方法模板:
- (IBAction)showInfo:(id)sender {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;
...
}
正如你可以看到它设置FlipSideController的代表到MainViewController的实例。
一个方法是把一个动作到您的FlipSideViewController
,这样的事情:
- (IBAction)changeTextInMainView
{
[(MainViewController *)self.delegate changeText];
}
其触及背面的按钮时被触发。你必须在IB中连接它,并将该方法添加到标题中。
然后实现这样的事情在你的MainViewController
- (void)changeText
{
self.myLabel.text = @"text changed to this";
}
此方法添加到首部为好。
另一种更优雅的方法是将标签的文本保存到属性中(可以在它自己的模型类中),通过引用将其传递给控制器,可以从任何视图访问该属性。然后将每个viewController的Key Value Observer添加到应该显示文本并更新视图的属性中。
thnx为答案,但它说“使用未声明的标识符(MainViewController *)”。我已经设置好了,就像你所描述的那样。 – Eivind 2011-04-03 14:35:04
将'#import“MainViewController.h”'直接放在FlipsideViewController.m文件的新行中的#import“FlipsideViewController.h”'后面。 – 2011-04-03 14:38:05
谢谢。当然! ;)现在它工作完美。 :) – Eivind 2011-04-03 15:16:46