我已经阅读了几篇关于Objective-C方法语法的文章,但我想我不了解一个方法的多个名称.
我正在尝试创建一个名为getBusStopswith NSString和NSTimeIntervalparameters以及返回类型的方法NSMutableArray.这是我构建方法的方法,但它在运行时显然会出错:
- (NSMutableArray *)getBusStops:(NSString *)busStop
(NSTimeInterval *)timeInterval;
Run Code Online (Sandbox Code Playgroud)
我看到了一个方法的另一个例子:
-(NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这个方法有每个参数的方法名称.我应该做同样的事情:
- (NSMutableArray *)getBusStops:(NSString *)busStop
forTime:(NSTimeInterval *)timeInterval
Run Code Online (Sandbox Code Playgroud) 据我所知,Objective-C不支持方法重载.在Objective-C中可以替代什么?或者我应该总是使用不同的方法名称?
Objective C中的函数重载是否可行?
好吧,大多数程序员说没有,
但看起来可能,
例如:
-(int)AddMethod:(int)X :(int)Y
{
return X + Y;
}
-(int)AddMethod:(int)X
{
return X;
}
Run Code Online (Sandbox Code Playgroud)
调用第一个写入 [self AddMethod :3];
调用最后一个写入[self AddMethod: 3 :4];