Sma*_*ree 0 if-statement objective-c ios
我在我的应用程序中制作了自定义键盘.当用户按空格键时,此代码运行:
NSString *lastChar = [myTextField.text substringFromIndex:[myTextField.text length] - 1];
NSLog(@"lastChar is `%@`", lastChar);
if (lastChar != @" ")
{
NSString *currentString = [NSString stringWithFormat:@"%@ ", myTextField.text];
[myTextField setText:currentString];
}
Run Code Online (Sandbox Code Playgroud)
我做了一个检查,如果用户使用的是最后一个符号space,他将无法再次使用它(在我的情况下不需要).但是,代码if statement仍然在运行.所以我已经检查了NSLog,即使最后一个字符是space,if statement执行下的代码.怎么会发生?有人能指出我的愚蠢错误吗?提前致谢.
更新: 对不起,我总是忘记如何比较Objective-C中的字符串,我已经标记了这个问题,谢谢大家对你的问题.
这不是if声明:NSStringS IN目标C应与其相比拟的isEqualToString:方法,而不是用!=或==运营商,其中检查引用相等:
if (![lastChar isEqualToString:@" "]) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |