我正在尝试扩展具有可变方法的类,例如:
- (void)someMethod:(id)arguments, ... ;
并在子类中通过调用原始方法来覆盖它,例如:
- (void)someMethod:(id)arguments, ... {
[super someMethod:arguments, ...];
// override implementation
...
}
但这是行不通的。有人知道如何工作吗?谢谢。
最佳答案
类似于printf
/vprintf
,该基声明:
- (void)someMethod:(id)arguments, ... ;
该子类将实现:
- (void)vsomeMethod:(id)arguments vaList:(va_list)vaList;
那么该基地将只是在其
vsomeMethod:vaList:
的实现中调用someMethod:vaList:
。关于objective-c - 如何在Objective-C中覆盖可变参数方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9562361/