iOS:子类化navigationController和推送视图会生成警告

时间:2013-07-28 10:16:17

标签: ios pushviewcontroller overwrite navigationcontroller

由于某些原因,我将navigatioController子类化为覆盖pushViewController方法:

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    NSLog(@"Pushing %@ to NavigationController", viewController);
    if([[self viewControllers] containsObject:viewController])
    {
        if( [self topViewController] == viewController )
        {
            NSLog(@"Pushed ViewController is already on top!");
        }
        else
        {
            NSLog(@"Moving Pushed ViewController to top!");
            [self popToViewController:viewController animated:animated];
        }
    }
    else
    {
        [super pushViewController:viewController animated:animated];
    }
    NSLog(@"NavigationControllers: %@", [self viewControllers]);
}

Everythings工作,但每当我有一行代码,viewcontroller被推送到navigationController我得到一个警告:

Incompatible pointer types sending 'NMROViewController *' to parameter of type 'UIViewController *'

这有点“令人不安”。好的,方法签名需要一个UIVIewController,但它是用我的代码覆盖的“原始”。

我想,必须有一些东西,我不知道“压制”或“避免”警告。

或者我必须生成多种方法!?

提前亲切的问候......

1 个答案:

答案 0 :(得分:0)

好的,解决方案就这么简单。我忘了在开头导入正确的.h文件