//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄
/**
注意点: 1.看 GIF 效果图.
2.看连线视图的效果图.
3.看实现代码(直接复制实现效果).
*/
一、GIF 效果图:
二、连线视图的效果图:
图1:
图2:
三、实现代码:
=========================
===================================================
===================
控制器1:
//
// ViewController.m
// 代理传值~dome
//
// Created by 石虎 on 2017/8/9.
// Copyright © 2017年 shihu. All rights reserved.
//
#import "ViewController.h"
#import "SHTwoViewController.h"//把本类的值用代理传值到ViewController
@interface ViewController ()<SHTwoViewControllerDelegate>
//代理传值显示数据文本框
@property (weak,nonatomic) IBOutletUITextField *delegateField;
//点击到实现代理功能界面
- (IBAction)delegateBtnClick:(UIButton *)sender;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
self.navigationItem.title =@"代理传值";
}
#pragma mark - 点击到实现代理功能界面
- (IBAction)delegateBtnClick:(UIButton *)sender {
//把本类的值用代理传值到ViewController
SHTwoViewController *share =[[SHTwoViewControlleralloc] init];
self.navigationItem.backBarButtonItem = [[UIBarButtonItemalloc] initWithTitle:@"返回"style:UIBarButtonItemStylePlaintarget:nilaction:nil];
share.delegate =self;
[selfpresentViewController:shareanimated:YEScompletion:nil];
}
#pragma mark - 调用发送方的传递方法,将参数 value赋值给接收的位置
-(void)changeValue:(NSString *)value {
self.delegateField.text =value;
}
@end
=========================
===================================================
===================控制器2: SHTwoViewController.h
// SHTwoViewController.h
// 代理传值~dome
//
// Created by 石虎 on 2017/8/9.
// Copyright © 2017年 shihu. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol SHTwoViewControllerDelegate <NSObject>
-(void)changeValue:(NSString *)value;
@end
@interface SHTwoViewController :UIViewController
//用于接收传进来的值
@property (nonatomic,copy)NSString *attributesString;
@property (nonatomic,unsafe_unretained)id<SHTwoViewControllerDelegate>delegate;
@end
控制器2: SHTwoViewController.m
//
// SHTwoViewController.m
// 代理传值~dome
//
// Created by 石虎 on 2017/8/9.
// Copyright © 2017年 shihu. All rights reserved.
//
#import "SHTwoViewController.h"
#import "ViewController.h"
@interface SHTwoViewController ()
//分享输入文字
@property (weak,nonatomic) IBOutletUITextField *shareInputField;
//开始传值按钮
- (IBAction)shareInputClick:(UIButton *)sender;
@end
@implementation SHTwoViewController
#pragma mark - 返回上级界面
- (IBAction)shareInputClick:(UIButton *)sender {
//返回上级界面
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
#pragma mark - 点击触摸退出键盘
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.viewendEditing:YES];
}
#pragma mark - 实现代理传值
-(void)viewWillDisappear:(BOOL)animated {
if (self.delegate && [self.delegaterespondsToSelector:@selector(changeValue:)]) {
//实现代理传值
[self.delegatechangeValue:self.shareInputField.text];
}
}
- (void)viewDidLoad {
[superviewDidLoad];
}
@end
谢谢!!!