我的项目中有两个视图控制器ViewController
, SettingsView
。在这里我尝试更新ViewController's
标签,当我点击SettingsView's
返回键。NSLog
工作正常,但标签没有更新......
请帮我....
设置视图.m
-(IBAction)backToMain:(id) sender {
//calling update function from ViewController
ViewController * vc = [[ViewController alloc]init];
[vc updateLabel];
[vc release];
//close the SettingsView
[self dismissModalViewControllerAnimated:YES];
}
视图控制器.m
- (void)updateLabel
{
NSLog(@"Iam inside updateLabel");
self.myLabel.text = @"test";
}
你能告诉我我的代码有什么问题吗?谢谢你!
你必须为此实施协议。请按照以下步骤操作:
1)在SettingView.h中定义这样的协议
@protocol ViewControllerDelegate
-(void) updateLabel;
@end
2)在.h类中定义属性并在.m类中综合。
@property (nonatomic, retain) id <ViewControllerDelegate> viewControllerDelegate;
3)在SettingsView.m中IBAction
-(IBAction)backToMain:(id) sender
{
[viewControllerDelegate updateLabel];
}
4)在ViewController.h中采用这样的协议
@interface ViewController<ViewControllerDelegate>
5) 在 viewController.m 中包含这一行viewDidLoad
settingView.viewControllerDelegate=self
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)