SwiftyUserDefaultsNamespaces 1.0.0

SwiftyUserDefaultsNamespaces 1.0.0

Oleksandr Zhuhan 维护。



  • ky1vstar

SwiftyUserDefaultsNamespaces

Platforms CI CocoaPods compatible Carthage compatible SPM compatible

这是 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 文件获取更多信息。