根据我的理解C专家Objective-C是一种动态绑定语言,不允许重载类中的任何方法。Objective-C中的函数重载?
但有一两件事让我感到愤怒,如果我写两个方法具有相同的名称,但不同数量的参数列表,如:
// Which is not allowed in objective-c
-(void)updateValue:(int)intVal{
}
-(void)updateValue:(float)floatVal{
}
但其中的Objective-C允许第二种情况是:
// Allowed in Objective-C
-(void)updateValue:(int)intVal{
}
-(void)updateValue:(float)floatVal :(int)intVal{
}
虽然这两种情况都是方法重载。
现在我的问题是为什么允许第二种情况。
在第二种情况下是否改变Method Name的方法有两个参数?或者是其他东西 ?
请解释一下。
不要写' - (无效)updateValue:(浮点)floatVal:(INT) intVal'。至少,编写' - (void)updateValue:(float)floatVal andSomething:(int)intVal'。否则,签名是'-updateValue:','-updateValue ::'(当没有参数介绍时)和'-updateValue:andSomething:'。 – Larme