GRDBQuery:SwiftUI应用基于GRDB框架访问SQLite数据库





中文标题:

GRDBQuery:SwiftUI应用访问SQLite数据库的桥梁

关键词:

GRDBQuery, SwiftUI, SQLite, iOS, macOS, tvOS, watchOS, Swift, 数据库, 观察

描述:

GRDBQuery是一个Swift语言开发的开源项目,允许SwiftUI应用通过GRDB和SwiftUI环境直接访问本地SQLite数据库,支持@Query和@EnvironmentStateObject两种数据绑定方式。

项目名称:GRDBQuery

GRDBQuery是GRDB.swift的扩展库,旨在帮助SwiftUI应用访问本地SQLite数据库。该项目提供了两种主要的数据绑定方式,使得开发者可以更便捷地在SwiftUI视图中使用数据库数据。

  1. @Query 属性包装器:允许SwiftUI视图直接读取和观察数据库。例如,使用@Query可以直接在视图中获取并展示数据库中的Player列表。

struct PlayerList: View {
    @Query(PlayersRequest()) var players: [Player]
    
    var body: some View {
        List(players) { player in Text(player.name) }
    }
}
  1. @EnvironmentStateObject 属性包装器:帮助从SwiftUI环境构建ObservableObject模型。这种方式允许开发者在视图模型中使用数据库上下文,实现数据的响应式更新。

struct PlayerList: View {
    @EnvironmentStateObject var model: PlayerListModel = []
    
    init() {
        _model = EnvironmentStateObject { env in
            PlayerListModel(databaseContext: env.databaseContext)
        }
    }
    
    var body: some View {
        List(model.players) { player in Text(player.name) }
    }
}

GRDBQuery的文档提供了如何使用@Query@EnvironmentStateObject的详细指南。同时,通过GRDBQuery的演示应用和GRDB的演示应用,开发者可以找到各种实际应用示例。

GRDBQuery的设计灵感来源于Core Data和SwiftUI的结合使用,由@davedelong提出,并在@steipete@stephencelis的贡献下得到改进和增强。

或许喜欢

ConfettiWithSpriteView:基于SpriteKit与SwiftUI构建的Confetti五彩纸屑

SwiftUI库ConfettiWithSpriteView,利用SpriteKit创建动态彩带效果,支持iOS、watchOS和visionOS,易于集成和自定义。

最近更新 2024-12-11

SwiftUI View Lifecycle:展示SwiftUI视图生命周期的应用

SwiftUI View Lifecycle是一个iOS和macOS应用,展示了不同SwiftUI结构和容器视图如何影响@State的生命周期和onAppear、onDisappear等事件的触发。

最近更新 2024-12-11

SwiftUIMasonry:SwiftUI实现的Pinterest风格布局视图

SwiftUIMasonry是一个SwiftUI库,提供水平和垂直的Pinterest风格布局视图,支持动态行数和列数,以及自定义间距和对齐。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1