qq_29986049 2015-07-20 15:06 采纳率: 0%
浏览 1855

IOS代理协议方法是如何被调用的?

这几天一直在思考代理的工作原理。代理可以获得事件或数据信息、调用与此信息相关的方法、把信息传给该方法,实现对事件或数据信息的回应。
这里我最大的疑惑是,代理如何把事件与方法对应起来?例如:A对象定义了一组代理协议,B对象作为A的代理,实现了所有的协议方法,当某个事件发生时,A的代理如何知道应该调用哪个协议方法?是根据方法名吗?我怀疑是因为所有代理都继承自NSObject协议,这一组协议可能使代理具有了神奇的功能。
另一个令我疑惑的事情是,自定义代理与现成的代理有什么区别?现成代理,例如UITableViewDelegate,哪个代理方法对应什么事件,手册上都有明确说明;自定义代理呢?我心里想的是,这个代理方法要对某某事件作出反应,可一定会吗?
假如代理的工作模式是:A定义了代理,则在事件发生时(系统认定为事件的),自动找代理,看代理声明了几个方法,然后看这个事件属于哪个方法来处理(关键问题还是在这里,如何确定事件与方法的对应关系?),然后看这个方法有没有被B实现。
望大牛指教!

  • 写回答

2条回答

报告相同问题?

悬赏问题

  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn