如何使用 SwiftUI 3 分钟内打造动态新闻资讯 App(下)
2023-11-14 22:54:41
在前面的博文中,我们已经了解了如何使用 SwiftUI 构建一个基本的新闻资讯应用程序页面。然而,它只是一个静态页面,不能满足我们随时更新信息的需要。因此,在这篇文章中,我们将介绍如何使用知晓云动态发布新闻信息,以及如何在应用程序获取新闻信息后使用 SwiftUI。
使用知晓云动态发布新闻信息
知晓云动态是一个功能强大的移动后端即服务(MBaaS)平台,提供各种服务,包括数据存储、推送通知和消息传递。在本教程中,我们将使用知晓云动态来存储和管理我们的新闻信息。
- 创建知晓云帐户
如果您还没有知晓云帐户,请访问其网站并创建一个帐户。
- 创建数据库和数据表
登录知晓云仪表盘后,创建一个新数据库并将其命名为“News”。然后,在“News”数据库中创建一个新数据表并将其命名为“Articles”。
- 添加字段
在“Articles”数据表中,添加以下字段:
- ID: 数据类型为Number 的主键。
- *** ** 正文:数据类型为 Text**的字段,用于存储文章正文。
- 作者: 数据类型为Text 的字段,用于存储文章作者。
- 时间: 数据类型为Date 的字段,用于存储文章发布时间。
- 插入数据
现在,我们已经创建了数据库和数据表,让我们插入一些数据。单击“Articles”数据表中的“插入”按钮,并填写以下字段:
- *** ** 正文:** 在本教程中,我们将向您展示如何使用 SwiftUI 构建一个动态新闻资讯应用程序。
- 作者: 小彭
- 时间: 当前日期和时间
- 保存数据
填写完所有字段后,单击“保存”按钮将数据插入数据库。
在 SwiftUI 中获取新闻信息
现在我们已经使用知晓云动态存储了我们的新闻信息,让我们在 SwiftUI 中获取这些信息。
- 安装知晓云动态 SDK
在您的 Xcode 项目中,使用以下命令通过 Swift Package Manager 安装知晓云动态 SDK:
swift package add https://github.com/knowbox-com/swift-sdk.git
- 导入知晓云动态 SDK
在您的 SwiftUI 视图中,导入知晓云动态 SDK:
import KnowboxFramework
- 初始化知晓云客户端
初始化知晓云客户端并使用您的凭据对其进行身份验证:
let client = KnowboxClient(appId: "YOUR_APP_ID", appSecret: "YOUR_APP_SECRET")
let auth = client.auth()
let token = try await auth.getToken()
- 查询数据
使用 find
方法查询“Articles”数据表中的所有文章:
let query = client.database().table("News").table("Articles").find()
let results = try await query.find()
- 解码数据
将结果解码为 Article
模型对象数组:
let articles = results.compactMap { try? $0.decode(as: Article.self) }
- 使用数据
现在我们已经获取了新闻信息,就可以在 SwiftUI 中使用它了。例如,您可以创建一个 List
来显示文章
List(articles) { article in
Text(article.title)
}
结论
通过使用知晓云动态和 SwiftUI,我们可以轻松构建一个动态新闻资讯应用程序,该应用程序可以从后端服务获取和显示实时更新的新闻信息。