【问题标题】:@selector - How to reference a class method?@selector - 如何引用类方法?
【发布时间】:2012-08-16 01:26:42
【问题描述】:

我正在以编程方式添加一个菜单项:

refreshItem = [[NSMenuItem alloc] initWithTitle:@"Refresh" action:@selector(refreshMenu) keyEquivalent:@""];

refreshMenu 方法如果是实例方法就可以调用,但我想把它变成类方法: +(void)refreshMenu {}

那我该如何引用呢?

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    您仍将使用@selector(refreshMenu),但您将NSMenuItem-target 设置为Class(即[self class])而不是实例(self)。

    【讨论】:

      【解决方案2】:

      请注意,类本身就是对象:它们是元类的实例。

      [menuItem setTarget:[MyClass class]];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多