2015-12-05 41 views
1

假設我有一個實現的方法,比如說XXX當前不帶參數並使用硬編碼參數操縱某些數據。可選的參數目標C

我在我的代碼中的多個位置調用此方法。

現在我想添加一些靈活性,其中方法採用參數來確定參數,而不是使用硬編碼值。但我仍然希望現有的代碼正常工作。基本上,我只想通過添加一個參數來修改該方法,並說如果方法被調用沒有參數,則假定硬編碼的值。

看起來只有這樣做的方法是複製代碼並創建一個新的方法。我有兩種方法是原始的和沒有參數的新的方法。有沒有其他的方式來做到這一點,而無需重複代碼?

回答

6
- (void)XXX { 
    [self XXX:42]; 
} 

- (void)XXX:(NSInteger)value { 
    // ... 
} 

現在你可以調用

[blah XXX]; 

[blah XXX:39];