mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
41 lines
1.1 KiB
Swift
41 lines
1.1 KiB
Swift
//
|
|
// CryptoSettingManager.swift
|
|
// Bark
|
|
//
|
|
// Created by huangfeng on 2023/3/2.
|
|
// Copyright © 2023 Fin. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class CryptoSettingManager: NSObject {
|
|
static let shared = CryptoSettingManager()
|
|
let defaults = UserDefaults(suiteName: "group.bark")
|
|
var fields: CryptoSettingFields? {
|
|
get {
|
|
guard let data:Data = defaults?.value(forKey: "cryptoSettingFields") as? Data else {
|
|
return nil
|
|
}
|
|
guard let fields = try? JSONDecoder().decode(CryptoSettingFields.self, from: data) else {
|
|
return nil
|
|
}
|
|
return fields
|
|
}
|
|
set {
|
|
guard let newValue = newValue else {
|
|
defaults?.removeObject(forKey: "cryptoSettingFields")
|
|
return
|
|
}
|
|
guard let encoded = try? JSONEncoder().encode(newValue) else{
|
|
return
|
|
}
|
|
defaults?.set(encoded, forKey: "cryptoSettingFields")
|
|
}
|
|
}
|
|
|
|
override private init() {
|
|
super.init()
|
|
}
|
|
}
|
|
|