最近做项目的时候我将两个控制器的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()