我是新手,快速了解UserDefaults
。当用户登录我的应用程序时,我正在存储密钥以检查他是否已登录'每次用户注销时都会取消设置此密钥。
我保存并将其取消为:
UserDefaults.standard.set(true, forKey: "isUserLoggedIn");
UserDefaults.standard.set(false, forKey: "isUserLoggedIn");
我还使用用户的详细信息保存数组。我想知道在按下注销按钮时如何取消设置?
保存详细信息的代码是:
let array = [storedUsername, storedFirstname, storedSurname, storedUniName, storedUniCourse, storedEmail];
UserDefaults.standard.set(array, forKey: "UserDetailsArray");
UserDefaults.standard.synchronize();
我试图通过以下方式删除它们:
UserDefaults.standard.removeObject(forKey: "UserDetailsArray")
但这不起作用,所以我想知道这样做的正确方法是什么?谢谢!
修改
这是我在退出时调用的完整功能。目标是删除用户详细信息的数组+以将UserLoggedIn
设置为false
@IBAction func LogoutButtonTapped(_ sender: Any) {
UserDefaults.standard.set(false, forKey: "isUserLoggedIn");
UserDefaults.standard.removeObject(forKey: "UserDetailsArray")
UserDefaults.standard.synchronize();
self.performSegue(withIdentifier: "LoginViewController", sender: self);
}
答案 0 :(得分:0)
if let bundle = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: bundle)
}
似乎可以做到这一点!信息现在可以完美保存和检索