如何从应用程序中删除用户默认设置?

时间:2019-05-29 02:05:48

标签: swift nsuserdefaults

我已经创建了登录页面。当我输入电子邮件并从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

1 个答案:

答案 0 :(得分:0)

我们有两个选项,一个是设置为空或任何其他值对应的键,否则您需要删除所有用户默认值,这意味着使用“ removePersistentDomain”键。示例

让appDomain = Bundle.main.bundleIdentifier! UserDefaults.standard.removePersistentDomain(forName:appDomain)