ios自用学习笔记一委托协议的简单了解

最近发现写学习笔记是一件非常重要的事情,可以复习自己最近一段时间的收获,于是决定从现在起写自己的博客,可能对别人来说并没有什么用,忘见谅。废话不多说,直入正题。

前段时间看别人的代码发现自己对委托和协议并不算理解了,于是又在网上学习了一下,理解了个大概。委托(Delegate)顾名思义就是将一件事情拿给别人去办,在oc里就是一个类让另外一个类执行一个方法(不知道说得对不对)。例如有一个classA类,包含一个print方法,然后有一个classB,包含一个成员变量classA,然后classB想执行print方法,但是classB并没有print方法,于是要交给classA执行,所以我们调用如下语句[b.a print];就能达到执行print方法的目的。

协议(protocol)一般是实现委托时采用的方法,所谓协议就是一种约束,定义一个协议,里面有若干方法但是并未实现,遵循了此协议的类必须实现该协议当中必须实现的方法。协议有什么用呢?协议能在类之间传递消息,能更好的实现委托。委托存在一个问题,就是一个类怎么才能知道另一个类具有它所需要的方法呢?此时协议就派上用场了。当一个类实现了另一个类中所定义的协议后,另一个类就知道这个类具有自己所需要的方法,从而防止了出错。这在uikit中是经常用到的。例如在UITableView中有一个UIViewDelegate,当一个UIViewController中包含了UItableView时这个ViewController也必须实现UIViewDelegate,因为当UITableView要执行某些功能时需要调用协议中的方法。

今天就先写到这儿,第一篇学习笔记这么短。。。算了,万事开头难。明早还有事,得早点休息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值