vo-q
11/29/2017 - 10:21 AM

Singleton

private let qcCodeInfoKey = "com.merchant.local.qccode"
class AppSetting {
    
    public static let sharedInstance = AppSetting()
    
    //dam bao chi co mot the hien cua lop
    private init() {}
    
    func saveQCCode(qcCode : [String : AnyObject]){
        let dataSave = NSKeyedArchiver.archivedData(withRootObject: qcCode)
        UserDefaults.standard.set(dataSave, forKey: qcCodeInfoKey)
        UserDefaults.standard.synchronize()
        NotificationCenter.default.post(name: Notification.Name(rawValue: didChangeStoreNotificationKey), object: nil)
    }
    
    func getQCCodeInfo() -> QRCodeProvisional? {
        guard let data = UserDefaults.standard.object(forKey: qcCodeInfoKey) as? Data else {
            return nil
        }
        guard let qcCodeInfo = NSKeyedUnarchiver.unarchiveObject(with: data) as? [String: AnyObject] else {
            return nil
        }
        return QRCodeProvisional(dict: qcCodeInfo)
    }
    
    func clearQCCodeInfo() {
        UserDefaults.standard.set(nil, forKey: qcCodeInfoKey)
    }
}