"if"语句不能正常工作?

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中的字符串,我已经标记了这个问题,谢谢大家对你的问题.

das*_*ght 5

这不是if声明:NSStringS IN目标C应与其相比拟的isEqualToString:方法,而不是用!===运营商,其中检查引用相等:

if (![lastChar isEqualToString:@" "]) {
    ...
}
Run Code Online (Sandbox Code Playgroud)