2012-10-11 8 views
0

我想重用我的代碼工作,如果有這樣的無狀態的方法:iOS重用方法 - 這隻能用條件完成嗎?

-(void) declareWebView 

我可以在任何其他方法中的後來喜歡這麼稱呼它:

[self declareWebView]; 

但如果我想,像這樣給它添加一個條件(我認爲這是它叫什麼):

-(void) declareWebView:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration 

我怎麼那麼在[self declareWebView];使用它?

它給我,如果我做了以下錯誤:

[self declareWebView];[self declareWebView:]; //其次有列添加到它。

任何將是偉大的!

回答

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」,現在有一個帶參數的新方法。