UIResponder响应链 找到需要的视图或controller

来源:互联网 发布:锁定3g网络上网软件 编辑:程序博客网 时间:2024/06/03 18:28

 开发中有时候需要找到View的上层掌管着,如UIViewController,或者UINavigationController等,那么我们就可以通过UIResponder的响应链来实现该操作。

     举个例子,现有一个RootController,里面初始化了一个UIView,UIView里面又初始化了一个UITableview,当我点击cell的时候想将该行的数据传递到SecondController,一种做法就是通过代理,先将数据传递到掌管UIView的RootController里面,让RootController遵守协议,实现协议的方法时里面初始化SecondController,同时携带数据通过RootController的navigationController,push到SecondController,但是这样做很繁琐,我们要通过代理协议来实现该操作,那有没有替代方法呢,直接在tableview里面实现push的操作呢,这时候我们就可以通过UIResponder响应链来找到RootController的navigationController来完成该操作,代码如下: