今天刚发现的,C++中的重写父类方法,是可以相同参数个数,不同参数类型的。OC中不可以。下面举个例子。
class A
{
public void test(char a){...}
public void test(int a){...}
}
这是C++里面的一个重构。这样是支持的。
@interface A : NSObject
-(void)test:(char a);
-(void)test:(int a);
@end
这是在OC里面的 ,会出错。是因为OC不支持这样的重构。
不知道其中真正的原因,要是有大神路过,求解答,在此谢过。