TinyStorage 使用教程

TinyStorage 使用教程

TinyStorage A simple, lightweight replacement for UserDefaults that makes access a little more straightforward (plus some niceties!) TinyStorage 项目地址: https://gitcode.com/gh_mirrors/ti/TinyStorage

1. 项目介绍

TinyStorage 是一个简单、轻量级的 UserDefaults 替代品,它提供了更加可靠的访问方式并且原生支持 Codable 类型。它旨在解决 UserDefaults 在设备锁定或应用预加载状态下返回 nil 数据的问题,这些问题可能导致难以追踪的bug和数据丢失。TinyStorage 不加密存储文件,因此提供了更可靠的访问,但牺牲了安全性,因此不适用于存储敏感信息。

TinyStorage 的特点包括:

  • 可靠的数据访问
  • 支持存储 Swift Codable 类型
  • 使用内存缓存提高性能
  • 线程安全
  • 支持跨进程使用
  • 自动检测文件变化
  • SwiftUI 属性包装器支持
  • 提供迁移从 UserDefaults 到 TinyStorage 的函数

2. 项目快速启动

首先,您需要将 TinyStorage 添加到您的项目中。这可以通过 Swift Package Manager 完成,您只需添加以下依赖项:

.package(url: "https://github.com/christianselig/TinyStorage.git", from: "版本号"),

请将 "版本号" 替换为 TinyStorage 的最新版本号。

接下来,在您的应用程序中创建一个 TinyStorage 实例。通常,您会创建一个单例,以便在整个应用中使用:

extension TinyStorage {
    static let appGroup: TinyStorage = {
        let appGroupID = "您的应用组ID"
        let containerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupID)!
        return .init(insideDirectory: containerURL, name: "tiny-storage-general-prefs")
    }()
}

之后,定义一些键来引用您的存储数据。最好使用枚举来避免打字错误:

enum AppStorageKeys: String, TinyStorageKey {
    case likesIceCream
    case pet
    case hasBeatFirstLevel
}

现在您可以读取和写入数据:

// 读取
let pet: Pet? = TinyStorage.appGroup.retrieve(type: Pet.self, forKey: .pet)

// 写入
TinyStorage.appGroup.store(true, forKey: .likesIceCream)

如果存储中没有值,尝试读取将始终返回 nil。

3. 应用案例和最佳实践

  • 偏好设置:使用 TinyStorage 存储非敏感的用户偏好设置,例如用户是否喜欢某种功能。
  • 数据迁移:如果您从 UserDefaults 迁移,使用提供的迁移函数来轻松转换数据。
  • 多进程支持:在主应用和扩展(如 Widget)之间共享数据。

4. 典型生态项目

目前没有明确指出与 TinyStorage 相关的典型生态项目,但您可以查找使用 TinyStorage 的开源项目来了解其在实际应用中的用法。您可以在 GitHub 上搜索相关的项目和 issue 来获取更多信息。

以上是 TinyStorage 的基本介绍和使用方法。希望这个教程能帮助您开始使用这个项目。

TinyStorage A simple, lightweight replacement for UserDefaults that makes access a little more straightforward (plus some niceties!) TinyStorage 项目地址: https://gitcode.com/gh_mirrors/ti/TinyStorage

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄或默Nursing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值