如何在Objective-C中调用父类的静态方法

时间:2014-03-18 11:12:26

标签: ios iphone objective-c superclass

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

我的意思是直接使用:

[SuperClassName method]

OR

还有其他方法吗?

4 个答案:

答案 0 :(得分:5)

如果你想从基类调用驱动类方法,那么在你的驱动类中声明类方法,如下所示:在方法名之前使用(+)符号。

+(void)myClassMethod;

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

[YourDriveClassName myClassMethod];

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

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

从基类调用此方法。

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

答案 1 :(得分:2)

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

1)课程方法

e.g:

+ (void)aClassMethod;

您可以通过类名称调用此方法,例如:[MyClass aClassMethod]

2)实例方法

e.g:

- (void)anInstanceMethod;

您可以通过类的实例名称调用此方法,如:

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

希望这会对你有所帮助。

答案 2 :(得分:1)

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

在你的class.h文件中声明

+ (void)yourStaticMethod;

//来自任何地方的呼叫

[yourClassName myStaticMethod];

答案 3 :(得分:1)

如果来自静态方法。那是

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

如果来自实例方法,则确实需要将其称为

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