代理传值
来源:互联网 发布:centos 光盘 yum源 编辑:程序博客网 时间:2024/05/18 04:02
第一步: 声明一份协议, 写明协议内容
第二步: 设置代理人属性.
第三步: 设置代理人需要完成协议内容里的方法
第四步: 引头文件, 代理人签订协议
第五步: 设置代理人
第六步: 代理人完成协议中的内容
第一步第二步:
在第二个页面的.h 中声明协议
#import <UIKit/UIKit.h>
// 协议传值的第一步: 声明一份协议,写方法
@protocol SecondViewControllerDelegate <NSObject>
// 协议方法:
- (void)changeValue:(NSString *)value;
@end
@interface SecondViewController : UIViewController
// 协议第二步:设置代理人属性
@property(nonatomic, assign)id<SecondViewControllerDelegate>delegate;
@end
第三步:
在第二个页面的.m中
当然我们是在点击第二页的button时,使用模态或者视图控制器才转到第一个页面.
所以第三步写在button的点击事件中.
// 点击返回,是协议的触发条件
- (void)buttonAction:(UIButton *)button
{
[self.navigationController popViewControllerAnimated:YES];
// 协议第三步: 设置代理人需要完成的协议方法.
[self.delegate changeValue:self.textField.text];
}
第四步:
当我们使用系统中的协议时, 就只需要从第四步开始写.
在第一页的.m的延展部分签订
#import "MainViewController.h"
#import "SecondViewController.h"
//协议传值第四步: 签订协议.
@interface MainViewController ()<SecondViewControllerDelegate>
@end
第五步:
- (void)buttonAction:(UIButton *)button
{
//push到下一页 SecondViewController *secondVC = [[SecondViewController alloc] init];
// 协议传值第五步: 设置代理人 secondVC.delegate = self;
[self.navigationController pushViewController:secondVC animated:YES];
}
第六步:
// 协议传值第六步: 实现协议方法. - (void)changeValue:(NSString *)value
{
self.label.text = value; NSLog(@"%@",value);
}
- 代理传值
- 代理传值
- 代理传值
- ios 代理传值
- iOS 代理传值
- 代理传值
- 代理传值
- 代理传值
- swift代理传值
- iOS代理传值
- 代理传值
- iOS 代理传值
- iOS 代理传值
- 代理反向传值
- 代理传值
- IOS--代理传值
- ios代理传值
- 代理传值
- 【PHP】织梦仿站学习笔记(一)
- jQuery判断checkbox,radio是否选中的3种方法
- MPEG2-TS音视频同步原理
- iOS中的内存管理(上)
- 哥谭.Gotham
- 代理传值
- 表格,鼠标移到,移出某行,改变该行样式JS
- SQL server 在OPENQUERY中使用参数
- 软件测试的“道”与“术”
- uart 编程
- Maven简明教程(3)---在eclipse中创建工程与基本命令介绍
- 开源 java CMS - FreeCMS2.4 系统配置
- Linux 标准库下的unistd.h
- 关于修改nginx中的cahce的key的生成规则的思考