私のコードは正常に動作していましたが、今日何らかの理由でそれを実行していたのですが、別の作業でした。私は基本的に、ユーザーが短いユーザー名、電子メール、パスワードを持っている場合はアラートを表示しようとしています。そうしないと、登録が完了し、次のビューに移動します。しかし今、私が提出をクリックするとすぐに、アラートを無視して次のビューに行きます。あなたが見ることができるように、私はそれが唯一の完全なの次のビューに移動するように指示ハンドルでセグエ「signUpDone」を持っているUIAlertが突然動作を停止しましたか?
@IBAction func signUp(_ sender: Any) {
// Validate the text fields
if username!.count < 5 {
let alert = UIAlertController(title: "Invalid", message: "Username must be greater than 5 characters", preferredStyle: UIAlertControllerStyle.alert)
let action = UIAlertAction(title: "Okay", style: UIAlertActionStyle.default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)
} else if password!.count < 8 {
let alert = UIAlertController(title: "Invalid", message: "Password must be greater than 7 characters", preferredStyle: UIAlertControllerStyle.alert)
let action = UIAlertAction(title: "Okay", style: UIAlertActionStyle.default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)
} else if email!.count < 8 {
let alert = UIAlertController(title: "Invalid", message: "Email must be greater than 7 characters", preferredStyle: UIAlertControllerStyle.alert)
let action = UIAlertAction(title: "Okay", style: UIAlertActionStyle.default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)
} else {
let alert = UIAlertController(title: "Success", message: "Account has been created, an email will be sent shortly", preferredStyle: UIAlertControllerStyle.alert)
let action = UIAlertAction(title: "Okay", style: UIAlertActionStyle.default, handler: {
action in
self.performSegue(withIdentifier: "signUpDone", sender: self)
})
alert.addAction(action)
present(alert, animated: true, completion: nil)
}
}
:ここではコードです。しかし何らかの理由で、すべてのifステートメントを無視し、条件または成功したアラートの単一のアラートなしに次のビューに進むだけです。私は "警告:そのビューがウィンドウの階層に表示されないようにしようとしました!"というコンソール情報を取得します。
私はコードに触れていませんが、私は今日それを実行しようとすると奇妙なことが起こります。何が問題なの?