子视图中获得视图控制器

偶尔想在子视图中获取到当前的视图控制器,做些事情。。。

import UIKit

//获取视图控制器的分类方法

extension UIView {

      func getController() ->UIViewController{

      var result : UIViewController?

      var responder = self.next

      while responder != nil {

            if responder!.isKind(of: UIViewController.self) {

                  result = responder as? UIViewController

                   break

            }  

            responder = responder?.next

      }

      return result!

      }

}

当然个人觉得最好还是不要这样做,还是用闭包或者代理,逆向把值传回视图控制器做处理。如果向偷懒,实在懒得传值,可以这样试试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容