我对Objective-C的方法重载有疑问。Java支持使用相同名称、不同类型但参数数量相同的方法重载。但是当我尝试在Objective-C中进行类似的声明时,它会抛出“方法重复声明”的错误。请看下面的代码:
/* Java */
int add(int i, int j);
int add(int i, int j, int k); // Accepted
float add(float i, float j); // Accepted
/* Objective-C */
- (int)add:(int)i and:(int)j;
- (int)add:(int)i and:(int)j and:(int)k; // Accepted
- (float)add:(float)i and:(float)j; // Throws error
为什么Objective-C不支持这个?有没有替代方案?