[英]swift firebase how add a new word to a list without deleting the previous word
[英]Swift Firebase : How to add on new questions to the list?
目前這個應用程序有一個textfield
,當你在鍵盤上按回車鍵時,它會在屏幕上顯示實時數據,但它會刪除上一個問題。 我的問題是我怎樣才能不刪除以前的問題,而只是將這個新問題添加到列表中。 太感謝了!
import UIKit
import FirebaseFirestore
class ViewController: UIViewController, UITextFieldDelegate {
let database = Firestore.firestore()
private let label: UILabel = {
let label = UILabel()
label.textAlignment = .center
label.numberOfLines = 0
return label
}()
private let field: UITextField = {
let field = UITextField()
field.placeholder = "enter text.."
field.layer.borderWidth = 1
field.layer.borderColor = UIColor.black.cgColor
return field
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(label)
view.addSubview(field)
field.delegate = self
let docRef = database.document("ios/ex")
docRef.addSnapshotListener {[weak self] snapshot, error in
guard let data = snapshot?.data(), error == nil else {
return
}
guard let text = data["text"] as? String else {
return
}
DispatchQueue.main.async {
self?.label.text = text
}
}
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
field.frame = CGRect(x: 1, y: view.safeAreaInsets.top+10, width: view.frame.size.width-20, height: 50)
label.frame = CGRect(x: 1, y: view.safeAreaInsets.top+10+60, width: view.frame.size.width-20, height: 100)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let text = textField.text, !text.isEmpty {
savedData(text: text)
}
return true
}
func savedData(text: String){
let docRef = database.document("ios/ex")
docRef.setData(["text": text])
}
}
將數組保存在“文本”鍵中,而不僅僅是字符串,並使用名為 FieldValue.arrayUnion('your new value') 的 Firebase 方法更新數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.