在 Objective-C 中,可选参数是指在方法或函数中可以选择性地传递的参数。在 Objective-C 中,可选参数通常使用以下方法实现:
例如,假设我们要实现一个计算器程序,其中有一个方法可以接受两个整数和一个可选参数,表示计算的操作类型(加、减、乘、除)。我们可以定义一个枚举类型和一个位掩码,如下所示:
typedef NS_ENUM(NSInteger, CalculatorOperation) {
CalculatorOperationAdd = 0,
CalculatorOperationSubtract,
CalculatorOperationMultiply,
CalculatorOperationDivide
};
typedef NS_OPTIONS(NSInteger, CalculatorOptions) {
CalculatorOptionsNone = 0,
CalculatorOptionsRoundResult = 1 << 0
};
然后,我们可以在方法或函数中使用这些枚举和位掩码,如下所示:
- (double)calculateWithFirstNumber:(double)firstNumber
secondNumber:(double)secondNumber
operation:(CalculatorOperation)operation
options:(CalculatorOptions)options;
在方法中,我们可以使用位运算符判断是否需要对结果进行四舍五入,如下所示:
- (double)calculateWithFirstNumber:(double)firstNumber
secondNumber:(double)secondNumber
operation:(CalculatorOperation)operation
options:(CalculatorOptions)options {
double result;
switch (operation) {
case CalculatorOperationAdd:
result = firstNumber + secondNumber;
break;
case CalculatorOperationSubtract:
result = firstNumber - secondNumber;
break;
case CalculatorOperationMultiply:
result = firstNumber * secondNumber;
break;
case CalculatorOperationDivide:
result = firstNumber / secondNumber;
break;
default:
return NAN;
}
if (options & CalculatorOptionsRoundResult) {
result = round(result);
}
return result;
}
这样,我们就可以在调用方法时选择性地传递 options 参数,以控制计算结果的格式。
领取专属 10元无门槛券
手把手带您无忧上云