簡體   English   中英

二進制運算符'=='不能應用於類型為'String'和'UInt32'的操作數

[英]Binary operator '==' cannot be applied to operands of type 'String' and 'UInt32'

我寫了一個非常簡單的游戲(猜數字),寫的時候:

if numberTextField.text == randomNumber {

它顯示錯誤:

二進制運算符'=='不能應用於類型為'String'和'UInt32'的操作數

這是我寫得很清楚的內容:

@IBAction func guessPressedButton(_ sender: Any) {
    let randomNumber = arc4random_uniform(11)
    if numbertextField.text == randomNumber {
        resultLabel.text = "التخمين صحيح"
    }
}

我該如何解決?

您想要先檢查textField包含有效數字,然后再將其轉換為Int 您可以按照下面的顯示方式進行操作。

@IBAction func guessPressedButton(_ sender: Any) {
    let randomNumber = arc4random_uniform(11)
    if let validNumber = Int(textField.text!), validNumber == randomNumber {
        resultLabel.text = "التخمين صحيح"
    }
}

暫無
暫無

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

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