내 앱에서 맞춤 키보드를 만들었습니다. 사용자가 스페이스 바를 누르면,이 코드를 실행합니다 :"if"문이 제대로 작동하지 않습니까?
NSString *lastChar = [myTextField.text substringFromIndex:[myTextField.text length] - 1];
NSLog(@"lastChar is `%@`", lastChar);
if (lastChar != @" ")
{
NSString *currentString = [NSString stringWithFormat:@"%@ ", myTextField.text];
[myTextField setText:currentString];
}
그리고 사용자가 사용했던 마지막 심볼이 space
인 경우 검사는, 그가 다시 (내 경우에는 필요 없음)을 사용할 수 없습니다합니다. 그러나 if statement
아래의 코드는 여전히 실행 중입니다. 따라서 NSLog
으로 확인했으며, 마지막 문자가 space
인 경우에도 if statement
아래의 코드가 실행됩니다. 어떻게됩니까? 누군가 내 어리석은 실수를 지적 할 수 있습니까? 미리 감사드립니다.
UPDATE : 미안 해요, 난 항상 목표 - C에서 문자열을 비교하는 방법을 잊어, 이미 질문을 신고 한, 당신의 anwsers 당신에게 모두 감사합니다.
'if (lastChar! = @ "")'를 사용해 보셨습니까? (if 문에 다른 공백 추가). 추가 공간이 있거나없는 if ([lastChar isEqualToString : @ ""]))'을 시도하지 않는 경우. – jfuellert
[myTextField.text length] - 2가 아니어야합니까? – Vignesh
이것은 Xcode와 전혀 관련이 없습니다 ** **. –