OC中对象之间经常需要相互通信,而通信方式有很多种。常用使用“委托模式”来实现对象间的通信。
该模式的主旨是:定义一套接口,某对象若想接受另一个对象的委托,则需遵从此接口,以便成为其“委托对象”。而这“另一个对象”则可以给其委托对象回传一些信息,也可以在发生相关事件时通知委托对象。-----此模式可将数据与业务逻辑解耦。(可以将委托实现,写到分类上,进一步解耦)
1,委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象。
2,将委托对象应该支持的接口定义成协议,在协议中把可能需要处理的事件定义成方法。
3,当某对象需要从另外一个对象中获取数据时,可以使用委托模式。这种情景下,该模式亦称“数据源协议”。如UITableView的datasource
4,若有必要,可实现含有位段的结构体,将委托对象是否能响应相关协议方法这亦信息缓存至其中。
网友评论