用户注销时清除单例数据和所有内容

时间:2018-08-21 11:44:33

标签: swift singleton

我有一个应用程序,当用户登录时,我从具有单例类的服务器上获取数据,但问题是当用户注销(从登录中退出而不从应用程序退出)时,我无法续订单例类,有一种方法可以用户注销清除所有数据和类? 我的单例课程如下

    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)

    }

服务是肥皂网络服务

1 个答案:

答案 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
}

希望有帮助