私のアプリケーションにサインイン/アウト機能があります。しかし、私は私がログアウトしたときに、私は、現在のユーザからログアウトしてログインしたときに、何かが、NSUSerDefaultがswiftのグローバル変数を更新しない
は私が
var CURRENT_USER_UID = NSUserDefaults.standardUserDefaults().valueForKey("currentUserUid") as? String
しかし私constants.swiftの下でグローバル変数を持っている私のグローバルユーザー変数と奇妙であることをrelised関数内の記号の最後に、私は以下のprint文を持って、新しい1
print("Sign in successfully. user.uid = \(user?.uid)")
print("CURRENT_USER_UID = \(CURRENT_USER_UID))")
print("NSUserDefaults.standardUserDefaults().valueForKey(KEY_USER_UID) \(NSUserDefaults.standardUserDefaults().valueForKey(KEY_USER_UID))")
これらのプリントアウト
Sign in successfully. user.uid = Optional("3P9uavuLtDQZV8ColwTseBIrY4w1")
CURRENT_USER_UID = Optional("hakV4smGyveurPhFN7g9rad4xsP2"))
NSUserDefaults.standardUserDefaults().valueForKey("currentUserUid") Optional(3P9uavuLtDQZV8ColwTseBIrY4w1)
"hakV4smGyveurPhFN7g9rad4xsP2"は前のユーザーのuserUIDです。 は「3P9uavuLtDQZV8ColwTseBIrY4w1は」私はちょうどログインして現在のユーザーのUIDです。正しく動作している場合、私はすべての3つは「3P9uavuLtDQZV8ColwTseBIrY4w1」であることを期待する
私CURRENT_USER_UIDがNSUserDefaults.standardUserDefaultsと同じものを返さない理由を誰もが知っています().valueForKey( "currentUserUid")??
同じキーで値を設定すると、自動的に古い値が置き換えられ、値が更新されます。 http://iosdevcenters.blogspot.com/2016/05/save-data-using-nsuserdefaults-in-swift.html –