gpt4 book ai didi

swift - (Swift) 将 UITextField 中的数据保存到 Firebase Firestore 中

转载 作者:行者123 更新时间:2023-11-30 10:32:11 25 4
gpt4 key购买 nike

当前显示的代码将字符串“TEST”保存在 Firestore 数据库中。我需要做的是在按下按钮时保存输入到 UITextField 中的文本,并将数据保存在 Firestore 数据库中。

对于我的 IBAction 函数,我相信它是正确的,但我不知道如何获取训练变量并将其放入我的字典中而不会出现错误。

import Foundation
import UIKit
import Firebase
import FirebaseUI

class TrainViewController: UIViewController{

@IBOutlet weak var trainField: UITextField!
@IBOutlet weak var locationField: UITextField!
@IBOutlet weak var engineField: UITextField!

@IBAction func saveButton(_ sender: UIButton) {
var train: String = trainField.text!

}

override func viewDidLoad() {
super.viewDidLoad()

trainField.delegate = self
var dict = [String:String]()
dict.updateValue("TEST", forKey: "train")

let db = Firestore.firestore()
db.collection("users").addDocument(data: dict)
}
}

extension TrainViewController : UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}

最佳答案

您可能希望从操作中的字段收集字符串,然后将其传递给函数进行保存。

class TrainViewController: UIViewController{

@IBOutlet weak var trainField: UITextField!
@IBOutlet weak var locationField: UITextField!
@IBOutlet weak var engineField: UITextField!

@IBAction func saveButton(_ sender: UIButton) {
let trainText = trainField.text!
self.saveText(theText: trainText)
}

override func viewDidLoad() {
super.viewDidLoad()
}

func saveText(theText: String) {
let db = Firestore.firestore()
let dict = ["train_text": theText]
db.collection("users").addDocument(data: dict)
}
}

将导致以下内容写入 Firestore

your_firestore
users
random_doc_id
train_text: "the passed in string"

编辑

根据一些新信息,OP 希望从三个文本字段中获取文本并将它们全部写入一个文档中。

因此更改按钮操作 - 它所做的只是调用我们的 saveText 函数并且不传递任何数据。

   @IBAction func saveButton(_ sender: UIButton) {
self.saveText()
}

然后是 saveText 函数

   func saveText() {
let trainText = self.trainField.text!
let locationText = self.locationField.text!
let engineText = self.engineField.text!

let db = Firestore.firestore()
let dict = ["train_text": trainText,
"location_text": locationText,
"engine_text": engineText]
db.collection("users").addDocument(data: dict)
}

生成的 Firestore 如下所示

your_firestore
users
random_doc_id
train_text: "text from the train field"
location_text: "text from the location field"
engine_text: "text from the engine field"

关于swift - (Swift) 将 UITextField 中的数据保存到 Firebase Firestore 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com