UserDefaultsProxy 0.3.2

UserDefaultsProxy 0.3.2

watanave维护。



GitHub仓库

Version License Platform

UserDefaultsProxy
是UserDefaults的包装器。

示例

class AppSetting {

    // String value. It isn't optional. It's needs default value.
    static let userName = StringProxy(key: "userName", defaultValue: "unknown")

    // Optional int value.
    static let age = IntOptProxy(key: "age")

}

func doSomething() {
    let userName = AppSetting.userName.value
    let age = AppSetting.age.value
}

func updateAge(_ age: Int) {
    AppSetting.age.value = age
}

键没有规则。但不要重复。
如果您想检查重复的键,请切换到调试构建...

#if DEBUG
    DuplicateKeyChecker.isCheckDuplicateKey = true
#endif

单元测试

如果您想测试UserDefaults,可以使用mock对象。

class Tests: XCTestCase {

    override func setUp() {
        super.setUp()
        UserDefaultsContainer.resolve = {
            return UserDefaultsMock()
        }
    }

每次执行时都会创建一个UserDefaults mock的新实例。

安装

UserDefaultsProxy通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod "UserDefaultsProxy"

作者

Watanave, [email protected]

许可证

UserDefaultsProxy 在 MIT 许可下可用。请参阅 LICENSE 文件以获取更多信息。