如何使用 swift UI 中的表单功能将用户输入发送到数据库? [关闭]
Posted
技术标签:
【中文标题】如何使用 swift UI 中的表单功能将用户输入发送到数据库? [关闭]【英文标题】:How do I send user inputs to a database using the forms feature in swift UI? [closed] 【发布时间】:2021-05-26 23:01:35 【问题描述】:我是 swift UI 和一般编程的新手。到目前为止,我已经学习了基础知识,现在我希望能够在我的应用程序中设置一个简单的表单。我可以设计表格没问题。但我不确定调用 CIA 按钮操作的函数或将信息从用户获取到数据库的代码是什么。谁能帮忙解释一下如何设置以及使用哪个数据库来收集用户信息?
【问题讨论】:
在数据库中存储数据的方法有很多种——很可能您会想研究 CoreData,但也有 Firebase、Realm 等。还有一些非数据库解决方案,例如存储在 UserDefaults 或 JSON 文件中。您可以通过搜索找到 大量 的 CoreData SwiftUI 教程。这是一个很好的起点:hackingwithswift.com/books/ios-swiftui/… 试试Apple SwiftUI Tutorials 通过数据库,您是指云数据库(将信息保存到服务器)还是持久数据存储(将信息本地存储在您的设备上)就像@jnpdx所说,您可以使用Realm和Core Data进行本地存储,而您可以使用 Firebase 在云端存储信息。 【参考方案1】:我无法为您设置数据库,因为每个数据库都有其独特的设置方式。但是,我给你一个基本结构,可以帮助你将 SwiftUI 视图链接到后端(你的数据库)。
设置表单
import SwiftUI
struct ContentView: View
@State var firstName = ""
@State var lastName = ""
@State var age = ""
var body: some View
TextField("Enter First Name", text: $firstName)
TextField("Enter Last Name", text: $lastName)
TextField("Age", text: $age)
Button(action:
addUser(firstName: firstName, lastName: lastName, age: Int(age) ?? 0)
)
Text("Save to database")
将结果保存到后端:
import CoreData
func addUser(firstName: String, lastName: String, age: Int)
/*
code here would be using Core Data structure
do not copy paste, only used as reference
*/
let newUser = User(context: context)
newUser.firstName = firstName
newUser.lastName = lastName
newUser.age = age
do
try context.save()
print("Successfully saved to Core Data.")
catch
print(error.localizedDescription)
请记住,您必须自行研究如何使用自己的数据库保存结果。如果您使用的不是 Core Data,addUser()
中的代码将不起作用。在您的情况下,我建议您尝试 Firebase,也许您可以使用 Firebase Firestore,因为它似乎适合您的需求。
【讨论】:
非常感谢,这帮助很大以上是关于如何使用 swift UI 中的表单功能将用户输入发送到数据库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Swift UI集合视图 - 如何在Cell中显示“segued”用户输入?