假设我有一个实现的方法,比如XXX,它当前不带参数,并使用硬编码参数操纵一些数据.
我在我的代码中的多个位置调用此方法.
现在我想添加一些灵活性,其中方法采用确定参数的参数而不是使用硬编码值.但我仍然希望我现有的代码能够运行.基本上,我想通过添加一个参数来修改方法,并说如果在没有参数的情况下调用方法,则假设硬编码值.
看起来唯一的方法是复制代码并创建一个新方法.即原始的两个方法和没有参数的新方法.有没有其他方法可以做到这一点,而无需重复代码?
- (void)XXX { [self XXX:42]; } - (void)XXX:(NSInteger)value { // ... }
现在你可以打电话
[blah XXX];
要么
[blah XXX:39];