我在检查方法是否存在后正在调用方法,但它一直在给出错误。我已经多次做所有这些事情,但现在却出错了。任何帮助

 if ([[self.navDashBoard.viewControllers lastObject] respondsToSelector:@selector(updateScreenForExtraOption)])
    {
        [[self.navDashBoard.viewControllers lastObject] updateScreenForExtraOption];
    }




请查看我更新的图像,相同的东西在相同的类上可以完美地工作,而其他方法则不能。我没有创建其中具有refreshPage方法的任何Category或ViewController子类。

ios - 检查方法存在后调用方法给出错误而不是警告-LMLPHP

最佳答案

通常您看到的是:

 if ([[self.navDashBoard.viewControllers lastObject] respondsToSelector:@selector(updateScreenForExtraOption)])
 {
     [[self.navDashBoard.viewControllers lastObject] performSelector:@selector(updateScreenForExtraOption)];
 }


这将给出警告,但不会直接调用该方法时出现错误。或者按照Paulw11的建议进行操作,然后将其转换为正确的类型。

关于ios - 检查方法存在后调用方法给出错误而不是警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32732600/

10-11 22:30
查看更多