Я сейчас смотрю на такие части строки, как:
if (thisChar == 'a')
[self a];
else if (thisChar == 'b')
[self b];
else if (thisChar == 'c')
[self c];
.........
else if (thisChar == '0')
[self zero];
else if (thisChar == '1')
[self one];
else if (thisChar == '2')
[self two];
else if (thisChar == '3')
[self three];
.........
else if (thisChar == '.')
[self period];
else if (thisChar == ',')
[self comma];
else if (thisChar == '?')
[self qmark];
Проблема возникает, хотя, когда я прихожу к
else if (thisChar == ''')
[self three];
, я хочу получить знак (апостроф), но он не позволит мне это сделать.Я знаю причину, но не знаю, как это обойти.Будет ли эта помощь?
NSString *apostropheString = [[NSString alloc] initWithFormat:@"'"];
unichar apostrophe = [apostropheString characterAtIndex:0];
Могу ли я использовать isEqualToString?
if ([apostrophe isEqualToString: thisChar])
Любая помощь будет принята с благодарностью!
Я нашел способсделайте следующее:
1).Создайте строку NNString с одним символом, который является апострофом
NSString *apostropheString = [[NSString alloc] initWithFormat:@"'"];
2).Получите это, чтобы преобразовать это в unichar, названный "приложением", поскольку это индексировано нулями, и есть только один символ, индекс равен 0.
unichar app = [apostropheString characterAtIndex:0];
3).Затем я говорю, что «thisChar» равен «app», запускаем «qmark»
else if (thisChar == app)
[self qmark];
Надеюсь, это поможет любому, кто столкнулся с такой же проблемой!