调用静态方法的一类

问题描述:

给出类似下面的方法,它返回一个类...调用静态方法的一类

-(Class)getClass 
{ 
    return [MyAwesomeClass class]; 
} 

...我该怎么称呼这个类的静态方法?我想这一点,但它没有工作...

Class theClass = [anInstance getClass]; 
[theClass someStaticMethod]; 

我应该如何呼吁theClass一个静态方法?

编辑补充: 看来我做的是正确的事情,而其他事情正在导致崩溃。现在我需要弄清楚如何摆脱没有找到方法someStaticMethod的警告。我应该投什么theClass

+0

静态方法或类崩溃方法? – 2011-03-23 20:11:30

+0

对于我目前的使用,一个静态的方法,但要么是有用的 – 2011-03-23 20:14:13

+0

你的意思是'+ classMethod'吗? – Richard 2011-03-23 20:14:43

你完全按照你写的方式来做,假设有问题的班级回应someStaticMethod

如果它不能正常工作,那么其中一个最有可能的情况:

  • 您不必类你认为
  • 类未对消息作出回应
  • 您正确声明
  • 没有汇入其中,该方法被声明的标题中的方法
  • 的方法本身是越野车

这是一个古老的问题,但我回答完整性。如果你使用的ID,而不是类,将工作

id theClass = [anInstance getClass]; 
[theClass someStaticMethod]; 

编译器会很乐意与这个动态类型,但你必须确保类将对+ someStaticMethod回应,否则将在运行时