iOS - Как использовать NSExpression с одним неизвестным параметром

Я использую NSExpression оценить формулу в строке.

Пример -

NSString *formula = @"7+11";
NSExpression *exp = [NSExpression expressionWithFormat: formula];
NSNumber *expResult = [exp expressionValueWithObject:nil context:nil];

Все работает просто отлично но...

Что если у меня есть следующая формула "7+x=18"? Как я могу оценить эту формулу и найти "х" и получить результат 11?

1 ответ

NSString *formula = @"12.845*x+(-0.505940)";
float x = 12.0;

NSExpression *expr = [NSExpression expressionWithFormat:formula];
NSDictionary *object = [NSDictionary dictionaryWithObjectsAndKeys:
                          [NSNumber numberWithFloat:x], @"x", nil];

float result = [[expr expressionValueWithObject:object context:nil] floatValue];
NSLog(@"%f", result);
// Output: 153.634064

Оригинальный ответ здесь

Другие вопросы по тегам