iOS-代理委托的使用
2015-07-29 08:35
253 查看
#import "Rigester_ViewController.h"
#import "Rigester_ViewController.h"
@interface Rigester_ViewController ()
@end
@implementation Rigester_ViewController
*
正向传值可以用属性
反向传值代理Block
代理:又叫委托
自己不能办得事委托给别人去干
UIAlertView,UITextField 都使用了代理
写代理的步骤:
// 需要代理,委托的人
1.声明代理里面的协议方法(@protocol)
2.声明协议的属性
3.什么时候需要触发这个代理方法
4.通过协议的属性调用代理方法(委托)
// 代理者,被委托的人需要做的事
5.导入协议
6.在初始化有代理方法的对象的地方
挂上代理(代理者响应代理)
7.写上代理方法
等待被执行
*/
- (void)viewDidLoad {
[super viewDidLoad];
self.title = _titleName;
UIButton *rigesterButton = [UIButton buttonWithType:UIButtonTypeCustom];
rigesterButton.frame = CGRectMake(150, 550, 100, 50);
[self.view addSubview:rigesterButton];
rigesterButton.backgroundColor = [UIColor orangeColor];
rigesterButton.showsTouchWhenHighlighted = YES;
rigesterButton.layer.cornerRadius = 10;
[rigesterButton setTitle:@"注册" forState:UIControlStateNormal];
[rigesterButton addTarget:self action:@selector(toRigester) forControlEvents:UIControlEventTouchUpInside ];
}
//什么时候触发这个代理方法
- (void)toRigester
{
[self.navigationController popViewControllerAnimated:YES];
// 4.通过协议的属性调用代理的方法
[self.delegate toLoginWithName:@"JZQ"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@interface Rigester_ViewController ()
@end
@implementation Rigester_ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = _titleName;
UIButton *rigesterButton = [UIButton buttonWithType:UIButtonTypeCustom];
rigesterButton.frame = CGRectMake(150, 550, 100, 50);
[self.view addSubview:rigesterButton];
rigesterButton.backgroundColor = [UIColor orangeColor];
rigesterButton.showsTouchWhenHighlighted = YES;
rigesterButton.layer.cornerRadius = 10;
[rigesterButton setTitle:@"注册" forState:UIControlStateNormal];
[rigesterButton addTarget:self action:@selector(toRigester) forControlEvents:UIControlEventTouchUpInside ];
}
//什么时候触发这个代理方法
- (void)toRigester
{
[self.navigationController popViewControllerAnimated:YES];
// 4.通过协议的属性调用代理的方法
[self.delegate toLoginWithName:@"JZQ"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
#import "Rigester_ViewController.h"
@interface Rigester_ViewController ()
@end
@implementation Rigester_ViewController
*
正向传值可以用属性
反向传值代理Block
代理:又叫委托
自己不能办得事委托给别人去干
UIAlertView,UITextField 都使用了代理
写代理的步骤:
// 需要代理,委托的人
1.声明代理里面的协议方法(@protocol)
2.声明协议的属性
3.什么时候需要触发这个代理方法
4.通过协议的属性调用代理方法(委托)
// 代理者,被委托的人需要做的事
5.导入协议
6.在初始化有代理方法的对象的地方
挂上代理(代理者响应代理)
7.写上代理方法
等待被执行
*/
- (void)viewDidLoad {
[super viewDidLoad];
self.title = _titleName;
UIButton *rigesterButton = [UIButton buttonWithType:UIButtonTypeCustom];
rigesterButton.frame = CGRectMake(150, 550, 100, 50);
[self.view addSubview:rigesterButton];
rigesterButton.backgroundColor = [UIColor orangeColor];
rigesterButton.showsTouchWhenHighlighted = YES;
rigesterButton.layer.cornerRadius = 10;
[rigesterButton setTitle:@"注册" forState:UIControlStateNormal];
[rigesterButton addTarget:self action:@selector(toRigester) forControlEvents:UIControlEventTouchUpInside ];
}
//什么时候触发这个代理方法
- (void)toRigester
{
[self.navigationController popViewControllerAnimated:YES];
// 4.通过协议的属性调用代理的方法
[self.delegate toLoginWithName:@"JZQ"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@interface Rigester_ViewController ()
@end
@implementation Rigester_ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = _titleName;
UIButton *rigesterButton = [UIButton buttonWithType:UIButtonTypeCustom];
rigesterButton.frame = CGRectMake(150, 550, 100, 50);
[self.view addSubview:rigesterButton];
rigesterButton.backgroundColor = [UIColor orangeColor];
rigesterButton.showsTouchWhenHighlighted = YES;
rigesterButton.layer.cornerRadius = 10;
[rigesterButton setTitle:@"注册" forState:UIControlStateNormal];
[rigesterButton addTarget:self action:@selector(toRigester) forControlEvents:UIControlEventTouchUpInside ];
}
//什么时候触发这个代理方法
- (void)toRigester
{
[self.navigationController popViewControllerAnimated:YES];
// 4.通过协议的属性调用代理的方法
[self.delegate toLoginWithName:@"JZQ"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
相关文章推荐
- iOS开发小案例之根据年份判断生肖
- iOS自动布局高级用法及纯手码约束写法
- [精通iOS开发(第5版)]第17章 轻击、触摸和手势 笔记
- ios状态栏操作
- iOS开发之软键盘使用小技巧
- 9秒学院教你如何成为iOS开发达人
- iOS 开发一些小技巧(收集整理)
- iOS开发:iOS中几种数据持久化方案:你要永远地记住!
- xcode 6.4 下 IOS 8.4 隐藏模拟器的状态栏
- IOS动画之抖动
- iOS开发——OC基础-ARC、BLOCK、协议
- iOS学习之MVC设计模式的理解
- iOS的文件管理——沙盒(sandbox)
- IOS switch-case知多少
- (九十五)音效播放方法和工具类的制作
- 《iOS核心动画高级技巧》part1-CALayer
- IOS开发概述-07.IOS程序启动原理
- iOS CABasicAnimation 动画受layer.anchorPoint和layer.position 的影响
- iOS前期OC训练OC_10Block
- iOS新特性页面制作