вопрос выполнения приложения калькулятора - PullRequest
0 голосов
/ 23 марта 2011

Чтобы ознакомиться с XCode и Objective-C, я сейчас пытаюсь создать приложение для калькулятора и у меня возник вопрос: я сейчас пытаюсь записать уравнение в строку NSString, а затем решить это уравнение.Как вы думаете, какой самый простой способ заставить это работать?

пример кода того, как я бы хотел, чтобы он работал:

float result;
...
calcstring = @" 10+4(6*8+2)^2 ";
result = calcstring;

=> идея заключается в том, чтобы напечатать строку NSString, такзапускается стандартный способ вычисления, поэтому вы бы просто набрали:

float result;
...
result = 10+4(6*8+2)^2;

в противном случае мне пришлось бы написать довольно сложную функцию выполнения?Например:

result = [calcstring execute];

-(float) execute: (NSString *) formula
{
    //lots of code..
}

спасибо за вашу помощь.

1 Ответ

0 голосов
/ 23 марта 2011

Если я правильно понял, вы пытаетесь оценить строку как фрагмент кода. Хотя я не знаю какой-либо возможности для оценки кода Objective-C, вы можете попытаться оценить формулу как код JavaScript следующим образом:

NSString * result = [webView stringByEvaluatingJavaScriptFromString: формула];

, где webView будет UIWebView , который вы создаете (например, может быть скрыт). Это может работать так же хорошо для всех простых формул.

...