相关疑难解决方法(0)

通过ObjC类覆盖一个方法并调用默认实现?

使用类别时,您可以使用自己的方式覆盖实现方法,如下所示:

// Base Class 
@interface ClassA : NSObject 
- (NSString *) myMethod;
@end
@implementation ClassA
- (NSString*) myMethod { return @"A"; }
@end

//Category
@interface ClassA (CategoryB) 
- (NSString *) myMethod;
@end
@implementation ClassA (CategoryB)
- (NSString*) myMethod { return @"B"; }
@end
Run Code Online (Sandbox Code Playgroud)

在包含类别之后调用方法"myMethod"将结果"B".

myMethod的Category实现调用原始Class A myMethod的最简单方法是什么?尽管我可以理解,你必须使用低级调用来获取A类的原始方法钩子并调用它,但似乎在语法上更容易实现这一点.

objective-c

47
推荐指数
3
解决办法
2万
查看次数

标签 统计

objective-c ×1