0

怎么会这样?使用代码...

- (IBAction)dismissKeyboard:(id)sender {
    if(textField.text == label.text) {
        NSLog(@"Correct!");
    }
    else {
        NSLog(@"Error?");
        NSLog(textField.text);
        NSLog(label.text);
    }
}

该声明评估为错误并打印...

Error?

Word
Word

话是一样的,但是if语句失败了……这是为什么呢?我不知道为什么会发生这种情况,如果它打印完全相同的单词但声明将它们比较为假?

我在 if 语句中做错了什么吗?请帮忙。先感谢您。

4

2 回答 2

1

NSString是一类。查看两个NSString对象(或任何类的对象)是否具有相同值的正确方法是使用isEqual:. 在NSString你可以使用的情况下isEqualToString:

if ([textField.text isEqualToString:label.text]) {
}
于 2013-05-17T03:10:49.320 回答
1

符号 == 比较内存位置。它会查看您是否指的是同一个对象。

应该使用方法“isEqualToString:”来比较变量内的字符串值。

于 2013-05-17T03:55:55.773 回答