Как назначить каждую букву в текстовом поле на номер в Xcode - PullRequest
0 голосов
/ 04 января 2012

Я не уверен, как я могу сделать каждую букву алфавита, присвоенную числу, например, A = 1, B = 2 и т. Д. Таким образом, когда пользователь вводит, например, имя в текстовое поле, числовые значения всех букв складываются и представляются в виде общего числа.

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

Ура, Лев

Ответы [ 2 ]

2 голосов
/ 04 января 2012

Самое простое решение, которое приходит мне в голову, но оно будет работать только до тех пор, пока вы присваиваете инкрементные значения на основе порядка букв алфавита.

// Make every letter uppercase to compare on the same scale of unicode values
NSString * str = [yourTextField.text uppercaseString];

NSUInteger total = 0;

for (int i = 0 ; i < str.length ; ++i ) {
    // 'A' unicode value is 65, so by substracting 64 you'll get 1 for A, 2 for B, 3 for C...
    total += [str characterAtIndex:i] - 64;
}

NSLog(@"Total is %d", total);

Вы все равно должны быть увереныполучить любые символы или около того, но это суммирует все буквы в вашей строке.

0 голосов
/ 04 января 2012

Создать перечисление со всеми буквами. Затем переберите входную строку по одному символу за раз и сложите значения.

enum  {
  A=1,
  B=2,
  C=3,
  // etc...
}; 
typedef int AlphabetIntCodes;

Затем выполните цикл, используя что-то вроде:

NSMutableString *textString = [[NSMutableString alloc] initWithString:txtText.text];
NSString *string = [NSMutableString stringWithFormat:@"%@",textString];

int stringLength = textString.length;
for (int i=0; i<stringLength; i++) {
    string = [string characterAtIndex:i];
        // Find the int value from the enum, and add it to a variable...
}

См. цикл по значениям перечисления , чтобы найти значения int каждой буквы.

Вам не нужно использовать enum, вы также можете просто создать новый класс Nholebject AlphabetLetter и иметь два свойства, букву и представление int, добавить их в NSArray и найти значения каждого из них. буква через массив букв AlphabetLetters.

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