susan335/UserDefaultsProxyGitHub仓库
是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 文件以获取更多信息。