-2
我目前正在用swift開發iOS應用程序。我需要做一個登錄屏幕。
我想要做的是:第一次用戶打開應用程序時,將顯示登錄屏幕,但是一旦用戶登錄(我知道它是因爲我在用戶登錄時將服務器的會話令牌保存在NSUserDefaults
中)應用程序將直接啓動主屏幕。
我想知道什麼是正確的方式來實現這一點(告訴應用程序顯示哪個屏幕)。我嘗試2種方式:什麼是快速執行登錄屏幕的正確方法
- 在加載主屏幕中的應用程序,並且如果沒有標記的是,目前的
LoginViewController
。我這樣做的問題是,當我運行應用程序時,它說LoginViewController
不在窗口層次結構中。 - 在
AppDelegate
我檢查是否有令牌,並根據我的結果LoginViewController
或MainViewController
rootViewController
。問題在於,將rootViewController
從LoginViewController
更改爲MainViewController
時,需要很長時間才能更改。
有沒有更好的方法來實現這個目標?哪一個是最好的?感謝你們。
謝謝你的回答。這是我所做的第一個選項,但xcode抱怨'LogionViewController'不在窗口層次結構中。 'MainViewController'和'LoginViewController'在不同的故事板中。我應該怎麼做才能避免這個問題? – serenhopy
並感謝您的安全建議!我應該在哪裏存儲令牌? – serenhopy
您需要在'MainViewController'的'viewDidAppear'之後顯示'LoginViewController'。如果您在收到該錯誤之前嘗試顯示它。身份驗證令牌應存儲在鑰匙串中。 – IgnazioC