我目前正在开发一个社交媒体应用程序,到目前为止,我已经能够制作一个LoginViewController和一个SignUpViewController,当用户点击LoginViewController上的Sihn Up按钮时,它会将用户带到SignUpViewController。现在,我正在尝试将它放在SignUpViewController上,如果没有填写所有必填字段,则应用程序将显示警报。然而,每次我运行应用程序时,警报都不会显示在模拟器屏幕上。
我的SignUpViewController代码如下所示:
import UIKit
import Parse
class SignUpViewController: UIViewController
{
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var usernameTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var confirmPasswordFieldText: UITextField!
@IBOutlet weak var signUpButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func signUpButtonTapped(_ sender: UIButton)
{
let username = usernameTextField.text
let password = passwordTextField.text
let email = emailTextField.text
let confirmpw = confirmPasswordFieldText.text
if username == "" || password == "" || email == "" || confirmpw == ""
{
let alert = UIAlertController(title: "Error", message: "Please fill out all required fields", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default,handler: nil))
present(alert, animated: true, completion: nil)
return
}
let newUser = User(username: username!, password: password!, email: email!)
}
}
class User
{
var username: String
var password: String
var email: String
init(username: String, password: String, email: String) {
self.username = username
self.password = password
self.email = email
}
}
本质上,当我点击我的SignUpViewController上的注册按钮,而所有字段都为空时,它仍然会带我到下一个视图控制器(我计划一直是个人资料创建视图控制器),而不是显示警报。所有按钮都连接到正确的位置。如果有人能帮助我解决这个问题,我将非常感激。
1条答案
按热度按时间t9aqgxwy1#
看来(我在这里做一个假设,但是没有故事板的截图,很难确定)你可能已经通过一个segue把故事板中的按钮连接到了下一个视图控制器。如果是这样的话,它会自动移动到下一个视图控制器。所以,在这里,您应该删除故事板中的segue,并使用
@IBAction
方法以编程方式导航到下一个屏幕。另外,与此无关,@INFINITE的评论也是一个很好的观察。你可能应该在这里使用
guard
语句,如下所示: