返回

如何使用 SwiftUI 3 分钟内打造动态新闻资讯 App(下)

见解分享

在前面的博文中,我们已经了解了如何使用 SwiftUI 构建一个基本的新闻资讯应用程序页面。然而,它只是一个静态页面,不能满足我们随时更新信息的需要。因此,在这篇文章中,我们将介绍如何使用知晓云动态发布新闻信息,以及如何在应用程序获取新闻信息后使用 SwiftUI。

使用知晓云动态发布新闻信息

知晓云动态是一个功能强大的移动后端即服务(MBaaS)平台,提供各种服务,包括数据存储、推送通知和消息传递。在本教程中,我们将使用知晓云动态来存储和管理我们的新闻信息。

  1. 创建知晓云帐户

如果您还没有知晓云帐户,请访问其网站并创建一个帐户。

  1. 创建数据库和数据表

登录知晓云仪表盘后,创建一个新数据库并将其命名为“News”。然后,在“News”数据库中创建一个新数据表并将其命名为“Articles”。

  1. 添加字段

在“Articles”数据表中,添加以下字段:

  • ID: 数据类型为Number 的主键。
  • *** ** 正文:数据类型为 Text**的字段,用于存储文章正文。
  • 作者: 数据类型为Text 的字段,用于存储文章作者。
  • 时间: 数据类型为Date 的字段,用于存储文章发布时间。
  1. 插入数据

现在,我们已经创建了数据库和数据表,让我们插入一些数据。单击“Articles”数据表中的“插入”按钮,并填写以下字段:

  • *** ** 正文:** 在本教程中,我们将向您展示如何使用 SwiftUI 构建一个动态新闻资讯应用程序。
  • 作者: 小彭
  • 时间: 当前日期和时间
  1. 保存数据

填写完所有字段后,单击“保存”按钮将数据插入数据库。

在 SwiftUI 中获取新闻信息

现在我们已经使用知晓云动态存储了我们的新闻信息,让我们在 SwiftUI 中获取这些信息。

  1. 安装知晓云动态 SDK

在您的 Xcode 项目中,使用以下命令通过 Swift Package Manager 安装知晓云动态 SDK:

swift package add https://github.com/knowbox-com/swift-sdk.git
  1. 导入知晓云动态 SDK

在您的 SwiftUI 视图中,导入知晓云动态 SDK:

import KnowboxFramework
  1. 初始化知晓云客户端

初始化知晓云客户端并使用您的凭据对其进行身份验证:

let client = KnowboxClient(appId: "YOUR_APP_ID", appSecret: "YOUR_APP_SECRET")
let auth = client.auth()
let token = try await auth.getToken()
  1. 查询数据

使用 find 方法查询“Articles”数据表中的所有文章:

let query = client.database().table("News").table("Articles").find()
let results = try await query.find()
  1. 解码数据

将结果解码为 Article 模型对象数组:

let articles = results.compactMap { try? $0.decode(as: Article.self) }
  1. 使用数据

现在我们已经获取了新闻信息,就可以在 SwiftUI 中使用它了。例如,您可以创建一个 List 来显示文章

List(articles) { article in
    Text(article.title)
}

结论

通过使用知晓云动态和 SwiftUI,我们可以轻松构建一个动态新闻资讯应用程序,该应用程序可以从后端服务获取和显示实时更新的新闻信息。