问题: 如何调用超类 静态 方法 ?
我的意思是直接使用:
[SuperClassName method]
OR
还有其他方法吗?
答案 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];
}