sunshinejr / SwiftyUserDefaults

Modern Swift API for NSUserDefaults
http://radex.io/swift/nsuserdefaults/static
MIT License
4.85k stars 365 forks source link

Combine publishers! #209

Closed sunshinejr closed 4 years ago

sunshinejr commented 4 years ago

So now you will be able to run:

extension DefaultsKeys {
    var userColorScheme: DefaultsKey<String> { .init("userColorScheme", defaultValue: "default") }
    var userThemeName: DefaultsKey<String?> { .init("userThemeName") }
    var userLastLoginDate: DefaultsKey<Date?> { .init("userLastLoginDate") }
}

final class Test {

    private var colorSchemeObserver: Cancellable?

    func obserColorScheme() {
        colorSchemeObserver = Defaults.publisher(for: \.colorSchemeObserver)
            .sink { value in
                // 
            }
    }
}