1、使用场景
多层级的事件传递与响应
编辑
2、参数说明
eventName:通过这个key对事件进行识别;
userInfo:响应事件需要的数据,类型可根据需要来写(model或NSDictionary等等)
编辑
3、使用方法
给UIResponder添加一个自定义事件
当事件发生,沿响应者链,找到当前view的nextResponder(即:superView)对应的view(或viewController),找到这个view后先判断能不能响应这个事件,如果不能那就继续找nextResponder,直到viewController接收该事件。
在当前view响应点击事件的方法中,将事件传递出去
例:
注:每一个key(即:eventName),可定义在当前view中,以便接收事件的superView使用
在对应controller中统一接收事件
例:
在对应control中实现具体事件
例:
4、优缺点
优点:统一处理多层级事件的传递与相应,避免了逻辑混乱的多层代理,代码简洁,结构简单;
缺点:对于层级结构简单的情况,相比抛出代理而言,逻辑清晰度稍差。