【发布时间】:2021-04-02 07:00:41
【问题描述】:
我构建了一个用于订购食物的应用程序,并且我想构建另一个应用程序来从中读取 Firestore 数据,我做了很多研究,但我没有找到一种方法。
我想要的是,如果 FireStore 从我想在第二个应用程序中读取的第一个应用程序中获取一个新数据,即 firstName、lastName、area、phoneNumber,这可能吗?
这是我的代码
import UIKit
import Firebase
class infoViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var firstName: UITextField!
@IBOutlet var lastName: UITextField!
@IBOutlet var phoneNumber: UITextField!
@IBOutlet var area: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
overrideUserInterfaceStyle = .light
firstName.delegate = self
lastName.delegate = self
phoneNumber.delegate = self
area.delegate = self
let Tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
view.addGestureRecognizer(Tap)
}
@objc func dismissKeyboard() {
view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
let db = Firestore.firestore()
var ref: DocumentReference? = nil
@IBAction func checkOut(_ sender: UIButton) {
ref = db.collection("check order").addDocument(data: [
"firstname": firstName.text!,
"lastname": lastName.text!,
"area": area.text!,
"phone": phoneNumber.text!
]
)
if firstName.text == "" || lastName.text == "" || phoneNumber.text == "" || area.text == "" {
let optionMenu = UIAlertController(title: nil, message: "Please complete your infrmation", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "OK", style: .cancel, handler:
nil)
optionMenu.addAction(cancelAction)
self.present(optionMenu, animated: true, completion: nil)
}
}
}
【问题讨论】:
-
嗨,欢迎来到 StackOverflow。将数据发送到不同的应用程序是什么意思?您是指不同的视图控制器/类还是实际不同的 iOS 应用程序?
-
@LucaSfragara 嘿,我的意思是实际不同的 iOS 应用程序
-
@LucaSfragara 我想你明白了,但是如果 Firestore 中保存了新数据,是否可以获得通知?
-
试试看一下 FireBase 触发器firebase.google.com/docs/functions/firestore-events。让我知道我发布的答案是否有帮助。
-
@LucaSfragara 是的,这很有帮助,谢谢,但问题是如果 Firestore 收到新的数据列表,我如何将其发送到第二个应用程序?
标签: swift firebase firebase-realtime-database google-cloud-firestore swift5