如何在 NSExpression 中使用模数运算符?如果我使用
NSExpression *exp = [NSExpression expressionWithFormat:@"3%2"];
我收到一个错误 - *** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'无法解析格式字符串“3%2 == 1”'。
谁能解释如何正确使用 NSExpression 的模运算符?一个例子会很棒!
如何在 NSExpression 中使用模数运算符?如果我使用
NSExpression *exp = [NSExpression expressionWithFormat:@"3%2"];
我收到一个错误 - *** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'无法解析格式字符串“3%2 == 1”'。
谁能解释如何正确使用 NSExpression 的模运算符?一个例子会很棒!
NSExpression 具有数学方程(如模数)的函数功能。这是一个示例,说明您将如何执行您询问的方程式:
NSExpression *expression = [NSExpression expressionForFunction:@"modulus:by:" arguments:@[[NSExpression expressionForConstantValue:@3], [NSExpression expressionForConstantValue:@2]]];
id value = [expression expressionValueWithObject:nil context:nil];
NSLog(@"%@", value); // Output is 1
这是一个 StackOverflow 帖子的链接,其中包含您可以与 NSExpression 一起使用的多个函数列表。
正如@Sean McDonald 所建议的那样,您可以使用+[NSExpression expressionForFunction:arguments:]
,或者如果您觉得这太冗长,您可以使用格式字符串中预定义函数的语法:
NSExpression *exp = [NSExpression expressionWithFormat:@"modulus:by:(3, 2)"];