textFieldDidEndEditing无法正确识别文本字段中的文本

RGr*_*ths 1 objective-c uitextfield ios

我试图检测a中的文本更改textField,我有一个特殊的错误.下面的代码将impactLabel1文本与先前设置的变量impactlabel1进行比较.如果textField变量不等于变量,则setHeadingsButton显示.如果单个单词中没有空格,则此方法非常有效texfield.然而,如果有两个词,它认为即使它们是相同的,它们也是不相等的.的NSLog同时显示值也相同.

-(void) textFieldDidEndEditing:(UITextField *)textView
{
NSLog (@"%@", impactLabel1.text);
NSLog (@"%@", impactlabel1);    

if (impactLabel1.text != impactlabel1)
{
    [setHeadingsButton setAlpha:1];
}
    NSLog (@"%@", impactLabel1.text);
    NSLog (@"%@", impactlabel1);
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您应该使用isEqualToString方法而不是"!="运算符.该运算符比较指针,而不是实际的字符串值.

-(void) textFieldDidEndEditing:(UITextField *)textView
{
NSLog (@"%@", impactLabel1.text);
NSLog (@"%@", impactlabel1);    

if (![impactLabel1.text isEqualToString: impactlabel1])
{
    [setHeadingsButton setAlpha:1];
}
    NSLog (@"%@", impactLabel1.text);
    NSLog (@"%@", impactlabel1);
}
Run Code Online (Sandbox Code Playgroud)