我正在尝试扩展一个具有可变方法的类,例如:
- (void)someMethod:(id)arguments, ... ;
并在子类中通过调用原始方法来覆盖它,如:
- (void)someMethod:(id)arguments, ... {
[super someMethod:arguments, ...];
// override implementation
...
}
但这不起作用。有谁知道如何工作?感谢。
答案 0 :(得分:3)
类似于printf
/ vprintf
,基数会声明:
- (void)someMethod:(id)arguments, ... ;
子类将实现:
- (void)vsomeMethod:(id)arguments vaList:(va_list)vaList;
然后,基地只会在vsomeMethod:vaList:
的实施中调用someMethod:vaList:
。