代理设计模式

network | | 访问(55)

代理设计模式,在OC中,使用最为广泛的一种设计模式

1> 代理的用处是什么?

监听那些不能通过addTarget监听的事件!

主要用来负责在两个对象之间,发生某些事件时,来传递消息或者数据

(1) 成为(子)控件的代理,父亲(控制器)成为儿子(文本框)的代理

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

(3) 实现协议方法(协议:预先定义的一些方法名,每个方法对应不同的事件,但是没有具体的实现)

@interface ViewController () <UITextFieldDelegate> //设置:遵守协议->用来智能提示

// 在文本框中按回车的处理
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    NSLog(@"%@", textField);
    // 如果光标在用户名,切换到密码
    if (textField == self.userNameText) {
        // 密码成为第一响应者
        [self.pwdText becomeFirstResponder];
    } else if (textField == self.pwdText) {
        // 输入焦点就在密码框中
        // 让密码文本框关闭键盘
        [textField resignFirstResponder];
    }
    return YES;
}