我有一个应用程序,当用户登录时,我从具有单例类的服务器上获取数据,但问题是当用户注销(从登录中退出而不从应用程序退出)时,我无法续订单例类,有一种方法可以用户注销清除所有数据和类? 我的单例课程如下
import Foundation
class GetloginData{
static let instance = GetloginData()
private let personData : PersonData = generateLoginData()
func getLoginData () -> PersonData {
return personData
}
}
func generateLoginData() -> PersonData {
name = service.getname
balance = service.balance
return PersonData(name: name, balance: balance)
}
服务是肥皂网络服务
答案 0 :(得分:1)
您可以简单地将personData更改为可选,并添加一个方法来resetLoginData
import Foundation
class GetloginData {
static let instance = GetloginData()
private var personData : PersonData? = generateLoginData()
func getLoginData () -> PersonData? {
return personData
}
func resetLoginData() {
personData = nil
}
}
然后在您的注销按钮上输入
GetloginData.instance.resetLoginData()
此外,请使用警卫人员检查是否已登录,并进行相应处理。
guard let loggedInPerson = GetloginData.instance.getLoginData() else {
// HANDLE CODE TO RETURN TO LOGIN SCREEN.
return
}
希望有帮助