SwiftyUserDefaultsNamespaces
这是 SwiftyUserDefaults 的扩展,它提供对命名空间(实际上嵌套的 KeyStore
)的支持。SwiftyUserDefaultsNamespaces 设计用于在项目中根据相应组件将偏好设置分离成不同的部分。
用法
定义您的键和命名空间!
extension DefaultsKeys {
var launchCount: DefaultsKey<Int> {
.init("launchCount", defaultValue: 0)
}
var player: DefaultsNamespace<PlayerKeyStore> {
.init(namespaceKey: "player", keyStore: .init())
}
}
struct PlayerKeyStore: DefaultsKeyStore {
var volume: DefaultsKey<CGFloat?> {
.init("volume")
}
}
然后就可以使用它了;)-)
Defaults[\.player][\.volume] = 1
Defaults.userSpecific(for: user)[\.name] = "David"
// or with dynamicMemberLookup
Defaults.player.volume = 1
安装
CocoaPods
SwiftyUserDefaultsNamespaces 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行:
pod 'SwiftyUserDefaultsNamespaces'
Carthage
Carthage 是一个去中心化的依赖管理器,构建你的依赖并提供二进制框架。
若要使用 Carthage 将 SwiftyUserDefaultsNamespaces 整合到你的 Xcode 项目中,请在你的 Cartfile
中指定它。
github "ky1vstar/SwiftyUserDefaultsNamespaces"
运行 carthage update
以构建框架,并将构建的 SwiftyUserDefaultsNamespaces.framework
拖入你的 Xcode 项目。
在你的应用程序目标的“构建阶段”设置选项卡中,单击“+”图标,选择“新建运行脚本阶段”,并添加如 Carthage 入门步骤 4、5 和 6 中提到的框架路径。
Swift Package Manager
若要使用 Apple 的 Swift Package Manager,请在你的 Package.swift
中将其添加为依赖关系。
dependencies: [
.package(url: "https://github.com/ky1vstar/SwiftyUserDefaultsNamespaces.git", from: "1.0.0")
]
或者导航到你的 Xcode 项目,选择 Swift Packages
并单击 +
图标以搜索 SwiftyUserDefaultsNamespaces
。
许可证
SwiftyUserDefaultsNamespaces 在 MIT 许可证下提供。请参阅 LICENSE 文件获取更多信息。