【问题标题】:How to call static methods of parent class in Objective - C.如何在Objective-C中调用父类的静态方法。
【发布时间】:2014-04-24 00:46:12
【问题描述】:

问题: 如何调用超类 静态 方法

我的意思是直接使用:

[SuperClassName method]

还有其他方式存在吗?

【问题讨论】:

标签: ios iphone objective-c superclass


【解决方案1】:

如果您想从基类调用驱动类方法,请在驱动类中声明类方法,如下所示:在方法名称前使用 (+) 号。

+(void)myClassMethod;

像这样从基类调用这个方法:

[YourDriveClassName myClassMethod];

或者你想从基类调用驱动类实例方法,在你的驱动类中声明实例方法,在方法名称前使用(-)号。

-(void)sayHelloToSomeOne:(NSString *)greeting;

从基类调用此方法。

[super sayHelloToSomeOne:@"Hello Worlds!"];

【讨论】:

    【解决方案2】:

    在 Objective-C 中,有两种方法:

    1) 类方法

    例如:

    + (void)aClassMethod;

    你可以通过他的类名来调用这个方法,比如:[MyClass aClassMethod]

    2) 实例方法

    例如:

    - (void)anInstanceMethod;

    你可以通过他的类的实例名来调用这个方法,比如:

    MyClass *object = [[MyClass alloc] init]; [object anInstanceMethod];

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      如果调用来自静态方法。那就是

      + (void)someMethod{
        [self method];
      }
      

      如果调用来自实例方法,则确实需要像这样调用它

      - (void)someMethod{
        [SuperClassName method];
      }
      

      【讨论】:

        【解决方案4】:

        您将在 iOS 中声明一个类级别的方法,在方法声明之前使用“+”。

        在你的 class.h 文件中声明

        + (void)yourStaticMethod;
        

        // 呼叫来自任何地方

        [yourClassName myStaticMethod];
        

        【讨论】:

          猜你喜欢
          • 2011-04-18
          • 1970-01-01
          • 2014-10-04
          • 2015-10-25
          • 2011-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-27
          相关资源
          最近更新 更多