关于ios:如何在objective-c中调用父类的静态方法。

How to call static methods of parent class in Objective - C.

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

我的意思是直接使用:

[SuperClassName method]

还有别的办法吗?


如果您想从基类调用Drive类方法,那么在您的Drive类中这样声明Class方法:在方法名之前使用(+)符号。

1
+(void)myClassMethod;

从基类调用此方法,如下所示:

1
[YourDriveClassName myClassMethod];

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

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

从基类调用此方法。

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

在目标C中,有两种方法:

1)类方法

例如:

+ (void)aClassMethod;

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

2)实例方法

例如:

- (void)anInstanceMethod;

可以通过类的实例名调用此方法,如下所示:

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

希望这对你有帮助。


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

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

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

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

您将在IOS中声明一个类级方法,以便在方法声明之前使用"+"。

在类.h文件中声明

1
+ (void)yourStaticMethod;

//呼叫来自任何地方

1
[yourClassName myStaticMethod];