我已经创建了登录页面。当我输入电子邮件并从Json返回密码并返回用户ID时,我将ID保存为默认用户身份,以便能够在应用程序的不同页面中使用它,但是当我在另一页面中添加注销按钮时。退出按钮的功能是当我按下它时,从用户默认值中删除ID,然后带我到根uiviewcontroller,但是当我注销并使用另一个帐户登录时,它会保存旧ID。
//save id to the user default by using login button
let id = UserDefaults.standard
id.set(data.id , forKey : "ID")
id.synchronize
//using user id with this code in diferent pages
let user_id = UserDefaults.standard.integer(forKey : "ID")
//delete id from user default by using logout button
UserDefaults.standard.removeObject(forKey : "ID")
userDefaults.synchronize
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let mainScreen = UIStoryboard.init(name : "Main" , bundle : nil).instantiateViewController(withIdentifier :"BG")
appDelegate.window?.rootViewController = mainScreen
答案 0 :(得分:0)
我们有两个选项,一个是设置为空或任何其他值对应的键,否则您需要删除所有用户默认值,这意味着使用“ removePersistentDomain”键。示例
让appDomain = Bundle.main.bundleIdentifier! UserDefaults.standard.removePersistentDomain(forName:appDomain)