Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift4中textfield的值为0时,如何显示警报?_Ios_Swift_Uitextfielddelegate - Fatal编程技术网

Ios swift4中textfield的值为0时,如何显示警报?

Ios swift4中textfield的值为0时,如何显示警报?,ios,swift,uitextfielddelegate,Ios,Swift,Uitextfielddelegate,我想在textfield的值为0时显示警报。 但是,在文本字段中输入值0不会显示警报 我怎样才能解决这个问题 @IBOutlet var priceTextfield: UITextField! if Int(priceTextfield.text!) == 0 { let aert = UIAlertController(title: "OK", message: "Price must be greater than 0.", preferredStyle: .alert)

我想在textfield的值为0时显示警报。 但是,在文本字段中输入值0不会显示警报

我怎样才能解决这个问题

@IBOutlet var priceTextfield: UITextField!

if Int(priceTextfield.text!) == 0 {

   let aert = UIAlertController(title: "OK", message: "Price must be greater than 0.", preferredStyle: .alert)
   let ok = UIAlertAction(title: "OK", style: .default)
   alert.addAction(OK)

   self.present(alert, animated: false)
}
你应该处理这个问题

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
    if Double(textField.text!) == 0 {
        // Show alert
        return false
    }
    return true
}
注意:您的视图控制器需要符合
UITextFieldDelegate
,并且必须设置文本字段委派

class YourViewController: UIViewController, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        priceTextfield.delegate = self
    }

}
你应该处理这个问题

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
    if Double(textField.text!) == 0 {
        // Show alert
        return false
    }
    return true
}
注意:您的视图控制器需要符合
UITextFieldDelegate
,并且必须设置文本字段委派

class YourViewController: UIViewController, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        priceTextfield.delegate = self
    }

}

您可以添加一些其他详细信息。此处回答:@Mike感谢您的帮助:)您可以添加一些其他详细信息。此处回答:@Mike感谢您的帮助:)您的答案与shasthri answerconverted string之间的区别是什么?将字符串转换为Int,因为询问了问题。请使用zero.UItextField文本属性检查它是可选字符串。你需要打开它的值
Int(textField.text!)
Btw text的默认值为空字符串。即使在尝试访问其值之前分配nil,它也将返回
”。因此,可以强制展开其值。您的答案和shasthri answerconverted字符串之间的差异是什么?已将字符串转换为Int,因为问题已被询问。请使用zero.UItextField文本属性检查它是可选字符串。你需要打开它的值
Int(textField.text!)
Btw text的默认值为空字符串。即使在尝试访问其值之前分配nil,它也将返回
”。所以,强制展开它的值是可以的。每次谢谢:)每次谢谢:)