我有一个UIPickerView,在selectedRowInComponent中有一个if语句,用于检查textField的值。如果用户在文本字段中输入的数字大于10,则会调用警报。一切都运行良好,除了我想在选择行并编辑字段后只发出一次警报。就目前而言,每次使用大于10的值更新/编辑字段时都会调用警报。初始警报就足够了。关于如何实现这一目标的任何提示?谢谢!
if (inputField.text! as NSString).doubleValue > 10 {
SweetAlert().showAlert("Number is greater than 10", subTitle: "Please select number less than 10", style: AlertStyle.CustomImag(imageFile: "alertimage.png"))
}
答案 0 :(得分:1)
快速而肮脏:
在viewController中创建一个公共可用的bool变量,并使用false初始化它(让我们调用变量' alertAlreadyShown')
然后在pickerView方法
中创建一个关于bool的if语句 if (inputField.text! as NSString).doubleValue > 10 {
if (alertAlreadyShown == false) {
SweetAlert().showAlert(...)
alertAlreadyShown = true
}
}
但是不要忘记在适当的时候重置bool以再次启用警报
答案 1 :(得分:0)
有两种方法可以解决这个问题。一个人(在我看来,用户最友好)只在你的选择器视图中显示少于10的值。另一种选择是设置是否已显示警报的bool,并将其作为检查添加到if语句中。