我有一个名为 FirstViewController 的视图控制器,还有一个名为 SecondViewController 的视图控制器。我提出第二个视图控制器
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"mainController"];
[self presentViewController:controller animated:YES completion:nil];
在 SecondViewController 的 .m 中,我想更改 FirstViewController 中 UILabel 的文本。但是,标签的文本并未更新。当在 SecondViewController 中按下 UIButton 时,如何才能更新 FirstViewController 的标签?
您可以使用委托模式
首先创建您的委托协议
@class SecondViewController;
@protocol SecondViewControllerDelegate
-(void) updateLabelWithString:(NSString*)string
@end
@property (weak, nonatomic) id<SecondViewControllerDelegate>delegate;
In your IBAction
连接到你的UIButton
[self.delegate updateLabelWithString:yourString];
在 FirstViewController.h 中
#import "SecondViewController.h"
@interface FirstViewController : UIViewController <SecondViewControllerDelegate>
在 FirstViewController.m 中
-(void) updateLabelWithString:(NSString*)string {
label.text = string;
}
然后当您创建控制器实例时,将 FirstViewController 设置为 mainViewController 的委托
controller.delegate = self;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)