使用NSExpression计算较小的值?

时间:2013-09-18 11:30:40

标签: objective-c ios6 operators nsexpression

对于以下代码块:

NSString *formul=@"5 < 9";

NSExpression *e = [NSExpression expressionWithFormat:formul];

int result = [[e expressionValueWithObject:nil context:nil] intValue];

NSLog(@"formule:%d", result);

我收到了错误:

  

由于未捕获的异常'NSInvalidArgumentException',原因:'无法解析格式字符串“5&lt; 9 == 1”'

1 个答案:

答案 0 :(得分:3)

您可以改为使用NSPredicate

NSString *formul = @"15 < 9";
NSPredicate *predicate = [NSPredicate predicateWithFormat:formul];
BOOL b = [predicate evaluateWithObject:nil];