⚙️ 一个极小的 UserDefaults 属性包装器。 仅 60 行代码。

import Persistent

extension UserDefaults {
    
    // Optional property
    @Persistent("login", .standard)
    static var login: String?
    
    // Property with default value
    @Persistent("isDarkMode", false)
    static var isDarkMode: Bool
}
UserDefaults.login = "mezhevikin"
UserDefaults.isDarkMode = true

Combine

let subscription = UserDefaults.$isDarkMode.sink {
    print($0)
}
UserDefaults.isDarkMode = true

Swift 包管理器 (Swift Package Manager)

https://github.com/mezhevikin/persistent.git

灵感来自 Antonie Van Der Lee