【发布时间】:2014-04-24 00:46:12
【问题描述】:
问题: 如何调用超类 静态 方法?
我的意思是直接使用:
[SuperClassName method]
或
还有其他方式存在吗?
【问题讨论】:
-
和你发布的完全一样...
[SuperClassName method].
标签: ios iphone objective-c superclass
问题: 如何调用超类 静态 方法?
我的意思是直接使用:
[SuperClassName method]
或
还有其他方式存在吗?
【问题讨论】:
[SuperClassName method].
标签: ios iphone objective-c superclass
如果您想从基类调用驱动类方法,请在驱动类中声明类方法,如下所示:在方法名称前使用 (+) 号。
+(void)myClassMethod;
像这样从基类调用这个方法:
[YourDriveClassName myClassMethod];
或者你想从基类调用驱动类实例方法,在你的驱动类中声明实例方法,在方法名称前使用(-)号。
-(void)sayHelloToSomeOne:(NSString *)greeting;
从基类调用此方法。
[super sayHelloToSomeOne:@"Hello Worlds!"];
【讨论】:
在 Objective-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 中声明一个类级别的方法,在方法声明之前使用“+”。
在你的 class.h 文件中声明
+ (void)yourStaticMethod;
// 呼叫来自任何地方
[yourClassName myStaticMethod];
【讨论】: