对于textfield的响应方法

来源:3-12 UITextField响应方法

_小怪

2017-12-14 20:07:12

老师你说textfield的响应方法是通过协议代理委托实现. 我想问问是不是这么理解.....   当textfield 想实现点击done之后调用textFieldShouldReturn这个方法,但是textfield本身不方便去完成,所以需要通过协议代理委托delegate实现, 所以这句话 textField.delegate = XXX 就是textField想拜托某个类对象帮他实现协议里面的方法.  XXX就是实际的方法调用者实现者,,老师你这里写的是 textField.delegate = self,这个self 代指的单纯就是textField这一个控件还是说代指的整个UI界面类ViewControLLer呢? 关textField.delegate 后面的对象响应了这个方法,那么方法实现以后的效果是作用在textField身上还是帮textField响应方法的对象身上啊.???....这个不太清楚

写回答

1回答

Tender10

2017-12-15

1、前面你的理解是对的,textField.delegate = XXX 就是textField想拜托某个类对象帮他实现协议里面的方法。而self是代表当前的类对象,而当前处在viewController,就是拜托这个类去遵守协议,实现协议方法,所以才会在头文件中遵守了UITextFieldDelegate协议,然后在下面实现了协议方法。

2、后面的作用是是现在textField上的,因为你设置这个代理,实现协议方法,就是为了帮助实现设置textField的一些效果。也就是之前我们委托设置代理的那个textField对象。

0

0 学习 · 1878 问题

查看课程