iOS swift singleton清晰数据

时间:2016-08-25 08:38:41

标签: ios swift singleton

class ShareData {
    class var sharedInstance: ShareData {
        struct Static {
            static var instance: ShareData?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token) {
            Static.instance = ShareData()
        }

        return Static.instance!
    }


    var someString : String! //Some String

    var selectedTheme : AnyObject! //Some Object

    var someBoolValue : Bool!

}

这是我的单身设计。但是,我想知道如何在需要时清除所有数据? 我也可以有一个以上的单身人士?

2 个答案:

答案 0 :(得分:2)

由于你的单身人士只有3个属性,因此设置一个依次为每个属性设置的方法会容易得多。

一旦你开始讨论如何破坏和重新创建你的单身人士,你就会进入这个领域,你实际上甚至想要一个单身人士,或者你应该只使用一个普通的对象。

答案 1 :(得分:1)

您正在使用... 2014

中提供的语法创建Singleton

今天有一个更好的语法来定义Singleton类

final class SharedData {

    static let sharedInstance = SharedData()
    private init() { }
    var someString: String?
    var selectedTheme: AnyObject?
    var someBoolValue: Bool?

    func clear() {
        someString = nil
        selectedTheme = nil
        someBoolValue = nil
    }
}

如您所见,我还添加了您正在寻找的clearData()方法。