问题:如何调用超类静态方法?
我的意思是直接使用:
[SuperClassName method]
或
还有别的办法吗?
stackoverflow.com/questions/2691383/…可能对您有所帮助。
就像你贴的一样…[SuperClassName method]。
如果您想从基类调用Drive类方法,那么在您的Drive类中这样声明Class方法:在方法名之前使用(+)符号。
+(void)myClassMethod;
从基类调用此方法,如下所示:
[YourDriveClassName myClassMethod];
或者您想从基类调用驱动类实例方法,在驱动类中使用方法名称之前的(-)符号声明实例方法。
-(void)sayHelloToSomeOne:(NSString *)greeting;
从基类调用此方法。
[super sayHelloToSomeOne:@"Hello Worlds!"];
在目标C中,有两种方法:
1)类方法
例如:
+ (void)aClassMethod;
你可以用他的类名来调用这个方法,比如:[MyClass aClassMethod]。
2)实例方法
例如:
- (void)anInstanceMethod;
可以通过类的实例名调用此方法,如下所示:
MyClass *object = [[MyClass alloc] init];
[object anInstanceMethod];
希望这对你有帮助。
如果调用来自静态方法。那就是
+ (void)someMethod{
[self method];
}
如果调用来自实例方法,则实际上需要像这样调用它
- (void)someMethod{
[SuperClassName method];
}
您将在IOS中声明一个类级方法,以便在方法声明之前使用"+"。
在类.h文件中声明
+ (void)yourStaticMethod;
//呼叫来自任何地方
[yourClassName myStaticMethod];