我在检查方法是否存在后正在调用方法,但它一直在给出错误。我已经多次做所有这些事情,但现在却出错了。任何帮助
if ([[self.navDashBoard.viewControllers lastObject] respondsToSelector:@selector(updateScreenForExtraOption)])
{
[[self.navDashBoard.viewControllers lastObject] updateScreenForExtraOption];
}
请查看我更新的图像,相同的东西在相同的类上可以完美地工作,而其他方法则不能。我没有创建其中具有refreshPage方法的任何Category或ViewController子类。
最佳答案
通常您看到的是:
if ([[self.navDashBoard.viewControllers lastObject] respondsToSelector:@selector(updateScreenForExtraOption)])
{
[[self.navDashBoard.viewControllers lastObject] performSelector:@selector(updateScreenForExtraOption)];
}
这将给出警告,但不会直接调用该方法时出现错误。或者按照Paulw11的建议进行操作,然后将其转换为正确的类型。
关于ios - 检查方法存在后调用方法给出错误而不是警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32732600/