我正在尝试在我的代码中重用一个方法,如果没有这样的条件,它就可以工作:
-(void) declareWebView
我可以在任何其他方法中稍后调用它:
[self declareWebView];
但如果我想为它添加一个条件(我认为这就是所谓的),就像这样:
-(void) declareWebView:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
我如何在[self declareWebView];
??
如果我执行以下操作,则会出错:
[self declareWebView];
或[self declareWebView:];
//第二个添加了列。
任何事情都会很棒!
答案 0 :(得分:2)
您必须为每个参数传递一个值:
[self declareWebView:UIInterfaceOrientationPortrait duration:1.0];
我建议做一些阅读 - The Objective-C Programming Language是一个很好的介绍性指南。
答案 1 :(得分:2)
如果你想创建一个实现与前一个相同代码的新方法,这是我的解决方案。
- (void) originalMethod{
[self originalMethodWithNumber:nil];
}
- (void) originalMethodWithNumber:(NSNumber*) newNumberParam{
NSNumber *numberValue = newNumberParam;
if (numberValue == nil) numberValue = [NSNumber numberWithInt:1];//default value.
// Perform anything here that you were doing. replacing out the new parameter
}
然后你仍然可以调用你的遗留“originalMethod”,现在有一个带参数的新方法。