//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄
/**
注意点: 1.看 GIF 效果图.
2.看连线视图的效果图.
3.看实现代码(直接复制实现效果).
4.详细链接: http://blog.csdn.net/shihuboke/article/details/77010605
*/
一、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
@interfaceViewController()
//代理传值显示数据文本框
@property(weak,nonatomic)IBOutletUITextField*delegateField;
//点击到实现代理功能界面
- (IBAction)delegateBtnClick:(UIButton*)sender;
@end
@implementationViewController
- (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
@protocolSHTwoViewControllerDelegate
-(void)changeValue:(NSString*)value;
@end
@interfaceSHTwoViewController :UIViewController
//用于接收传进来的值
@property(nonatomic,copy)NSString*attributesString;
@property(nonatomic,unsafe_unretained)iddelegate;
@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"
@interfaceSHTwoViewController()
//分享输入文字
@property(weak,nonatomic)IBOutletUITextField*shareInputField;
//开始传值按钮
- (IBAction)shareInputClick:(UIButton*)sender;
@end
@implementationSHTwoViewController
#pragma mark -返回上级界面
- (IBAction)shareInputClick:(UIButton*)sender {
//返回上级界面
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
#pragma mark -点击触摸退出键盘
-(void)touchesBegan:(NSSet *)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