Преобразование NSString @ "123" в (короткий) массив [] = {1, 2, 3}? - PullRequest
1 голос
/ 02 января 2011

Я не могу представить себе «чистый» или эффективный способ сделать это.

Я бы хотел преобразовать строку чисел типа @ "1234" в массив шорт для проекта калькулятора для домашних животных *.

Я думаю о получении подстрок, а затем о intValue подстроки, но это звучит громоздко и излишне. Был бы более элегантный способ сделать это?

Заранее спасибо!

* Я знаю, что есть более эффективные способы сделать математику, и множество библиотек C делают это, но это для моего собственного образования:

Ответы [ 2 ]

2 голосов
/ 02 января 2011

Если у меня есть это прямо, вы хотите превратить NSString в короткий массив?Эта функция предполагает, что каждый символ в строке NSSt является отдельным коротким.О, и не забудьте освободить этот массив, когда закончите с ним!

//Stephen Melvin <jinksys@gmail.com>
short *NSStringToShortArray(NSString *digits){

    int count = [digits length];

    short *shortArray = malloc(sizeof(short)*count);

    for(int i = 0; i<count; i++){
        shortArray[i] = (short)[digits characterAtIndex:i] - '0';
    }

    return shortArray;
}
1 голос
/ 02 января 2011

Хороший интерфейс калькулятора должен принимать одну строку символов как одно число, а затем после выбора операции очищает поле для принятия следующего числа.

Например.

Вы вводитев 2, затем нажмите кнопку *, поле очищается, и вы снова набираете 2 и нажимаете = и получаете 4.

Если вы хотите, чтобы интерфейс принял уравнение или скрипт, вы должны прочитать о разборе чиселуравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...