iOS获取父控制器swift

在iOS项目中,由于将两个控制器的视图添加到主控制器上,导致子控制器无法直接push。通过获取主控制器来解决这个问题。本文介绍了如何在Swift中实现这一操作,并分享了首次尝试写博客的心得体会,后续会更新更多技术内容。
摘要由CSDN通过智能技术生成

最近做项目的时候我将两个控制器的view添加到一个主控制器上(保留两个控制器的对象否则代理啥的都没有),当我在其中两个控制器中push的时候发现不能push。找了半天才发现两个子控制器没有navigationcontroller属性。解决的办法就是在子控制器中获取主控制器,经过和同事的讨论终

得意


解决办法如下

/**
     用于获取父亲控制器
     
     - parameter ViewC:  当前的控制器
     - parameter target: 要获取的父亲控制器的类型
     
     - returns: 返回父亲控制器
     */
    static  func ReturnFatherObject( ViewC:AnyObject ,target:AnyClass )-> AnyObject
    {
        
        
        
        var responser = ViewC.nextResponder()
        var ExitResponer = true
        while(ExitResponer == true)
        {
        
            //print("类型为",responser?.classForCoder)
            if( responser?.classForCoder != target && responser != nil)
            {
                responser = responser!.nextResponder()
                
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值