USB-Meter / USB Meter / Templates / UserDefault.swift
Newer Older
43 lines | 0.887kb
Bogdan Timofte authored 2 weeks ago
1
//
2
//  UserDefault.swift
3
//  USB Meter
4
//
5
//  Created by Bogdan Timofte on 03/03/2020.
6
//  Copyright © 2020 Bogdan Timofte. All rights reserved.
7
//
8

            
9
import Foundation
10

            
11
@propertyWrapper struct UserDefault<T> {
12
    let key: String
13
    let defaultValue: T
14

            
15
    var wrappedValue: T {
16
        get {
17
            return UserDefaults.standard.object(forKey: key) as? T ?? defaultValue
18
        }
19
        set {
20
            UserDefaults.standard.set(newValue, forKey: key)
21
        }
22
    }
23

            
24
//    static func getValue(forKey: String) -> T? {
25
//        return UserDefaults.standard.object(forKey: forKey) as? T
26
//    }
27
}
28

            
29
// Asta cel mai probabil face figuri pentru ca nu pare sa aiba observer
30
@propertyWrapper struct UserRuntime<T> {
31

            
32
    var value: T
33

            
34
    var wrappedValue: T {
35
        get {
36
            return value
37
        }
38
        set {
39
            value = newValue
40
        }
41
    }
42

            
43
}