代码之家  ›  专栏  ›  技术社区  ›  Kyle

objective-c协议静态方法?

  •  21
  • Kyle  · 技术社区  · 15 年前

    我在objective-c中有一个协议,如下所示:

    @protocol Handler
    +(NSString*) getValue;
    @end
    

    现在假设我有一个继承了这个协议的实例,我想调用这个方法:

    [handlerInstance getValue];
    

    这会发出警告,因为 getValue 方法不是实例方法。如何从实例中正确调用此方法?(不知道具体的课程)?我猜是这样的,但我不太确定:

    [[handlerInstance class] getValue];
    
    1 回复  |  直到 10 年前
        1
  •  20
  •   kennytm    15 年前
    [[handlerInstance class] getValue];
    

    是的,像这样。

    与Java和C++不同, 类方法 只能发送到班级。