在 Objective-C 中子类化时,在可变参数方法的情况下如何将调用转发到超类。我应该用什么来替换 ???下面发送我得到的所有对象?
- (void) appendObjects:(id) firstObject, ...
{
[super appendObjects: ???];
}
你不能。为了安全地传递所有可变参数,您需要一个方法来接受va_list
.
在超级中,
-(void)appendObjectsWithArguments:(va_list)vl {
...
}
-(void)appendObject:(id)firstObject, ...
va_list vl;
va_start(vl, firstObject);
[self appendObjectsWithArguments:vl];
va_end(vl);
}
And use [super appendObjectsWithArguments:vl]
当你重写子类中的方法时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)