【发布时间】:2012-10-22 12:07:01
【问题描述】:
我正在尝试使用NSExpression 计算指数值,如下所示:
NSNumber *number1 = [NSNumber numberWithInteger:2];
NSNumber *number2 = [NSNumber numberWithInteger:4];
NSArray *arrNum=[NSArray arrayWithObjects:number1,number2,nil];
NSExpression *arrayExpression = [NSExpression expressionForConstantValue: arrNum];
NSArray *arrExp=[NSArray arrayWithObject:arrayExpression];
NSExpression* expression =[NSExpression expressionForFunction:@"raise:toPower:" arguments:arrExp];
NSLog(@"powerExp:%@",expression);
int resultSum = [[expression expressionValueWithObject:nil context: nil] intValue];
NSLog(@"resultnum:%f",resultSum);
我得到了错误:
-[__NSArrayI doubleValue]:无法识别的选择器发送到实例 0x7439e60 2012-10-22 16:04:04.034 operator[3958:c07] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayI doubleValue]:无法识别的选择器发送到实例 0x7439e60”
【问题讨论】:
标签: objective-c ios expression