ios - 如何使用条件 IF 打开新视图
问题描述
我想显示 new ViewController
,就在 Text Fields 不为空或不相同时。总是当我单击将用户导航到下一个视图的按钮时,即使条件不满足,也要这样做。
@IBAction func nextButtonPressed(_ sender: Any) {
self.performSegue(withIdentifier: "goToLastRegisterView", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if usernameTextField.text == "" || passwordTextField.text == "" || confirmedPasswordTextField.text == "" {
errorLabel.isHidden = false
errorLabel.text = "All fields are required"
}
else{
if passwordTextField.text == confirmedPasswordTextField.text{
if segue.identifier == "goToLastRegisterView"{
let secondRegisterVC = segue.destination as! RegisterSecondViewController
secondRegisterVC.userName = usernameTextField.text!
secondRegisterVC.password = passwordTextField.text!
}
}
else{
errorLabel.isHidden = false
errorLabel.text = "Different passwords"
}
}
}
解决方案
如果您self.performSegue(withIdentifier:
检查里面的 textfeilds 为时已晚,override func prepare(for
您必须在按钮操作中进行
@IBAction func nextButtonPressed(_ sender: Any) {
if usernameTextField.text == "" || passwordTextField.text == "" || confirmedPasswordTextField.text == "" {
errorLabel.isHidden = false
errorLabel.text = "All fields are required"
return
}
self.performSegue(withIdentifier: "goToLastRegisterView", sender: self)
}
推荐阅读
- javascript - 如何获取 td 元素的更改事件然后添加新行?
- mongodb - 对于在普通 mongo 服务器中成功执行的特定查询,带有 Mongo API 的 CosmosDB 失败的原因是什么?
- calabash - XML Calabash MacOS 在运行任何 xpl 时都会出现 SLF4J 错误
- sql - 想要在输入条件的单个表中的记录组中选择最接近的记录
- linux - 如何将 setenv.sh 文件中的值调用到 tomcat 中的 server.xml 文件?它适用于 context.xml 但不适用于 server.xml
- c# - 查找所有用法树
- php - 如何在 Laravel 的一页上拥有多个 Yajra 数据表?
- vue.js - VUE Storefront:类别页面显示项目计数为字符串
- rest - REST API 允许根据资源状态更新资源
- c++ - C++ 统一声明在课堂上不起作用