如何使用属性初始化单例 - Swift?

时间:2018-02-09 12:52:44

标签: swift swift3 singleton

我正在尝试创建一个使用属性初始化的单例..我知道你可以默认初始化:

class ApiSharedHelper {
    var someValue:String    

    static let sharedInstance : ApiSharedHelper = {
        let instance = ApiSharedHelper()
        return instance
    }()


ApiSharedHelper.sharedInstance...

我只是调用sharedInstance,它会调用构造函数。如何在我传递someValue字符串的值以初始化值的情况下调用该共享实例?

2 个答案:

答案 0 :(得分:2)

class APIManager {

    class var shared :APIManager {
        struct Singleton {
            static let instance = APIManager()
        }
        return Singleton.instance
    }

    func login(username: String, password: String, success:@escaping (LoginModel?)->()) { ... }

您可以通过以下方式致电:

APIManager.shared.login(username: txtUsername.text ?? "", password: txtPassword.text ?? "") { (response) in
            print(response ?? "")
    }

答案 1 :(得分:0)

你可以试试这个

class ApiSharedHelper {
    var someValue:String    
    static let sharedInstance = ApiSharedHelper()
    private init(){
    }
}

ApiSharedHelper.sharedInstance...