如何在 Swift 5 中刷新文本字段数据

How to refresh textfield data in Swift 5

我一直在尝试通过按下提交按钮来计算用户输入的闰年。如果没有值警报 window 正在显示,但在警报 window 上点击“确定”按钮后,无论我向文本字段提供哪个输入,每次都会显示相同的警报 window。 (简而言之:在警报 window 之后我无法继续使用该应用程序)我已经尝试了 resignFirstResponder 方法,在“创建警报”方法之后尝试了 viewWillAppear 方法但是 none 的工作

@IBAction func submitButtonPressed(_ sender: UIButton) {
    if let text = textField.text {
        if textField.text != nil {
            self.createAlert(titleField: "Error", messageField: "Please make sure you entered a year before tapping the submit button")
        } else {
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
                self.leapYear.calculateYear(year: Int(text)!, imageView: self.statusView)
            }
        }
    }
}

因为 textField.text 永远不会为零,并且您将警报代码包装在文本字段有值时触发的块中,使用

if textField.text == "" { 
        self.createAlert(titleField: "Error", messageField: "Please make sure you entered a year before tapping the submit button") 
}else {
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.5){ 
        self.leapYear.calculateYear(year: Int(self.textField.text!)!, imageView: self.statusView) 
    }
}