我目前正在查看像这样的字符串部分;
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)。得到它将它转换为一个名为“app”的unichar,因为它是零索引的,只有一个字符,索引是0。
unichar app = [apostropheString characterAtIndex:0];
3)。然后我说如果“thisChar”等于“app”运行“qmark”
else if (thisChar == app)
[self qmark];
我希望这对有同样问题的人有帮助!
答案 0 :(得分:3)
你必须用反斜杠来逃避撇号:'\''
。