2012-02-27 98 views
11

我们可以通过使用respondsToSelector:轻松检查对象是否有方法,但我们如何在类中为静态函数执行此操作?检查类是否有静态方法

我想有这样的事情:

if ([cls classRespondsToSelector:@selector(staticMethodName)]) { 
    ... 
} 

回答

42

在Objective-C类对象了。

if ([[myClass class] respondsToSelector:@selector(classMethod)]) { 

} 

另外一个小提示,这些不是'静态'方法。这意味着Objective-C中不存在特定的东西。他们是一流的方法。

+2

捕捉!删除了我相同的答案。 28秒! – jrturton 2012-02-27 09:12:51

+2

+1尤其对于“静态”方法的修正:-) – JeremyP 2012-02-27 10:52:27

+0

为什么OP要检查给定该类的实例的类方法的存在?要调用一个类方法,他们需要类对象本身,所以给类对象更有意义 – user102008 2012-06-12 21:58:40

相关问题