Tho*_*mas 10 objective-c variadic-functions subclassing
在objective-c中进行子类化时,如何在可变方法的情况下将调用转发给超类.我该怎么替换??? 下面发送我得到的所有对象?
- (void) appendObjects:(id) firstObject, ...
{
[super appendObjects: ???];
}
Run Code Online (Sandbox Code Playgroud)
你不能.要安全地传递所有可变参数,您需要一个接受a的方法va_list.
在超级,
-(void)appendObjectsWithArguments:(va_list)vl {
...
}
-(void)appendObject:(id)firstObject, ...
va_list vl;
va_start(vl, firstObject);
[self appendObjectsWithArguments:vl];
va_end(vl);
}
Run Code Online (Sandbox Code Playgroud)
并[super appendObjectsWithArguments:vl]在覆盖子类中的方法时使用.
| 归档时间: |
|
| 查看次数: |
1642 次 |
| 最近记录: |