【发布时间】:2011-09-08 22:03:31
【问题描述】:
在 Objective-C 中,在委托/协议方法的实现中用更具体的(子类)参数类型替换参数类型是好还是坏?
例如,根据 UIGestureRecognizer 的文档:
调用的操作方法必须符合以下签名之一: - (void)handleGesture; - (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;
当我将 UITapGestureRecognizer 添加到视图时,我知道 handleGesture: 的参数将是 UITapGestureRecognizer 类型(除非稍后添加另一个手势识别器)。是否不赞成将 UIGestureRecognizer 参数替换为 UITapGestureRecognizer 类型的参数?例如:
- (void)handleGesture:(UITapGestureRecognizer *)gestureRecognizer
{
// 执行
}
【问题讨论】:
标签: objective-c