2012-02-27 119 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

相關問題