以下のコードは動作しますが、ログインボタンを押すと自動的に次のView Controllerにアクセスしますが、私はそれを望んでいません。正しい情報が入力されるまでログアウトしておきたい。問題は、ログインコードの前にストーリーボードとAppdelegate情報を入力することだと思います。どのように私はこれを再構築するかについての任意の提案?より凝縮したコード?成功したログイン
@IBAction func loginButton(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tabBarController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = tabBarController
let loginName = userNameField.text;
let loginLast = userLastField.text;
let loginNameStored = UserDefaults.standard.string(forKey: "loginName");
let loginLastStored = UserDefaults.standard.string(forKey: "loginLast");
if(loginNameStored == loginName)
{
if(loginLastStored == loginLast)
{
//login is successful
UserDefaults.standard.set(true, forKey:"isUserLoggedIn");
UserDefaults.standard.synchronize();
self.dismiss(animated: true, completion:nil)
}
}
このコードでは、まずrootViewControllerを設定しisUserLoggedInをチェックしていますか? 。実際に私は本当にあなたがそれを説明することができますかを理解していない –
@MidhunKMohanアイデアは、ユーザーが正常に自分のユーザー名とパスワードを入れたら、彼らはログインボタンをクリックし、コントローラ。私の問題は、ログインボタンをクリックすると、ログインフォームを入力せずに次のビューに自動的に送信されることです。 – William