第一个界面.m文件需要实现
#import "ViewController.h"
#import "seconderViewController.h"
@interface ViewController ()<messageDelegate>
{
UILabel *lable;
seconderViewController *sencoderVC;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor greenColor]];
lable = [UILabel new];
lable.backgroundColor = [UIColor grayColor];
lable.frame = CGRectMake(10, 100, 200, 50);
[self.view addSubview:lable];
sencoderVC = [seconderViewController new];
sencoderVC.delegate = self;
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
sencoderVC = [seconderViewController new];
sencoderVC.delegate = self;
[self presentViewController:sencoderVC animated:YES completion:^{
}];
}
- (void)messageSender:(NSString *)string{
lable.text = string;
}
第二个界面.h文件里面
#import <UIKit/UIKit.h>
@protocol messageDelegate <NSObject>
@optional
- (void)messageSender:(NSString *)string;
@end
@interface seconderViewController : UIViewController
@property (nonatomic,weak)id<messageDelegate>delegate;
@end
#import "seconderViewController.h"
@interface seconderViewController ()
{
UILabel *lable;
}
@end
@implementation seconderViewController
- (void)viewDidLoad {
[super viewDidLoad];
lable = [UILabel new];
lable.backgroundColor = [UIColor redColor];
[lable setText:@"王维传"];
lable.frame = CGRectMake(100, 100, 200, 50);
[self .view addSubview:lable];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.delegate messageSender:lable.text];
[self dismissViewControllerAnimated:YES completion:^{
}];
}