Swift3
には非常に奇妙な問題があります。私は、彼が最後のセッションで既に認証された後に、ユーザーをアプリケーションにログインさせておきたい。UserDefaultは異なる値を返します
私の問題は、UserDefaults
が時には真実を返し、自分のアカウントにログインしていても間違っていることがあります。問題は私を狂ってしまう。私はbool
の値をUserDefaults
に保存していますが、特定の文字列を保存しようとしましたが、問題は解決しません。
誰でもこの問題がありましたか?どんな解決策ですか?
UserDefaults.standard.set(true, forKey: LOGIN)
そして、これがdidFinishLaunchingWithOptions
方法でAppDelegate
に私のコードです::私はUserDefaults値を設定した後UserDefaults.standard.synchronize()
を呼び出すことをお勧め
if UserDefaults.standard.bool(forKey: LOGIN) {
AppData().updateUserInformation()
}
UserDefaultsは、機会にplistにバックアップされたメモリ内辞書です。ユーザーのデフォルトで設定された値を、同期の有無にかかわらずすぐに読み取ることはできません。詳細については、http://stackoverflow.com/a/40809748/1226963を参照してください。 – rmaddy
私が言っていることは、実践的な経験がそうでないことを示しているということです。異なるスレッドからUserDefaults.standardにアクセスすると、状況が悪化します。 – picciano