IOS-代理模式(苹果原生)

一、运行效果

(每当在文本框输入数据的时候,就打印出所输入的数据)



二、代理的用处

1> 监听那些不能通过addTarget来监听的事件;

2> 主要负责在两个对象之间,发生某些事件后,来传递消息或数据;


三、代理的实现

1>  成为子控件的代理,即父控件(如:控制器)成为子控件(如:文本框)的代理;

2>  遵守协议(利用智能提示,快速编写代码);

3>  实现协议方法;


四、代理模式示意图



五、简单示例代码

1、在storyboard中拖一个文本框,然后文本框拖一条线到View Control选择delegate即可,如图:


2、代码实现
//
//  ViewController.m
//  01-代理模式
//
//  Created by Jarvan on 15/4/24.
//  Copyright (c) 2015年 Jarvan. All rights reserved.
//

#import "ViewController.h"
// 注意:遵守协议只是为了更快的敲出代码,如果是没遵守协议,下面方法仍然在,程序还是一样可以执行!
@interface ViewController () <UITextFieldDelegate>  // 遵守协议,可以command+点击<span style="font-family: Arial, Helvetica, sans-serif;">UITextFieldDelegate,可以看到事件对应的一些方法</span>


@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"%@",string);
    return YES;
}


@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值