SwiftStorage

SwiftStorage 是一种无需键值 (Key Value) 即可持久化数据的简便方法。它旨在与 SwiftUI 无缝集成。

特性和未来展望

我希望该框架具备以下特性

用法

基本框架用法

基本上,用法与 Observation 框架中的 Observable 宏相同。 使用 Storage 宏代替 Observable 宏。 仅此更改即可让您永久存储属性。

模型定义

import SwiftStorage

@Storage
final class SwiftStorageModel {
    var storedValue: Bool
    
    init() {
        self.storedValue = false
    }
}

与 SwiftUI 一起使用

import SwiftUI

struct SwiftStorageView: View {
    @State private var swiftStorage = SwiftStorageModel()
    
    var body: some View {
        NavigationStack {
            Form {
                Toggle("Bool", isOn: $swiftStorage.storedValue)
            }
        }
    }
}

禁用持久化

如果是常量,则不会被保存。 此外,如果应用了 Transient 宏,即使它是变量,也不会被保存。

import SwiftStorage

@Storage
final class SwiftStorageModel {
    var storedValue: Bool
    
    @Transient
    var temporaryValue: String
    
    let constantValue: String
    
    init() {
        self.storedValue = false
        self.temporaryValue = ""
        self.constantValue = ""
    }
}

安装

您可以使用 Swift Package Manager 将其添加到您的项目中。 要将 SwiftStorage 添加到您的 Xcode 项目,请选择 “File” > “Add Package Dependancies...” 并找到仓库 URL
https://github.com/KC-2001MS/SwiftStorage.git.

贡献

如果您想做出贡献,请参阅 CONTRIBUTING.md

文档

有关 SwiftStorage 框架的文档可以在这里找到。

许可证

此库在 Apache-2.0 许可证下发布。 有关详细信息,请参阅 LICENSE

支持

如果您想为此项目捐款,请点击这里。 您捐赠的款项将用于提高我的编程技能和维护应用程序。
Buy Me A Coffee
通过 PayPal 付款

作者

Keisuke Chinone