簡體   English   中英

UITextField和UILabel的奇怪比較

[英]Weird Comparison of UITextField and UILabel

怎么會發生這種情況? 使用代碼......

- (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語句中做錯了嗎? 請幫忙。 先感謝您。

NSString是一個類。 查看兩個NSString對象(或任何類的對象)是否具有相同值的正確方法是使用isEqual: . NSString的情況下,您可以使用isEqualToString: .

if ([textField.text isEqualToString:label.text]) {
}

符號==比較內存位置。 它會看到你是否指的是同一個對象。

應使用方法“isEqualToString:”來比較變量內的字符串值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM