1

如何在 NSExpression 中使用模数运算符?如果我使用

NSExpression *exp = [NSExpression expressionWithFormat:@"3%2"];

我收到一个错误 - *** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'无法解析格式字符串“3%2 == 1”'。

谁能解释如何正确使用 NSExpression 的模运算符?一个例子会很棒!

4

2 回答 2

0

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 一起使用的多个函数列表。

于 2015-03-15T14:39:53.183 回答
0

正如@Sean McDonald 所建议的那样,您可以使用+[NSExpression expressionForFunction:arguments:],或者如果您觉得这太冗长,您可以使用格式字符串中预定义函数的语法:

NSExpression *exp = [NSExpression expressionWithFormat:@"modulus:by:(3, 2)"];
于 2018-04-21T03:57:52.290 回答