我无法使用具有 3 个选项的 UIPickerView 查询 Firestore
I can't query Firestore using a UIPickerView with 3 options
我正在尝试使用具有 3 个字段的 UIPickerView 查询 Firestore,但没有显示任何内容。如果我注释掉其中的 2 个字段和 运行 查询,我会得到结果。知道我遗漏了什么或做错了什么。请帮忙。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if hospNameField.isFirstResponder {
let itemselected = hospt[row]
hospNameField.text = itemselected
} else if teamNameField.isFirstResponder {
let itemselected = team[row]
teamNameField.text = itemselected
} else if mdNameField.isFirstResponder {
let itemselected = assignedmd[row]
mdNameField.text = itemselected
}
}
@IBAction func getData(_ sender: Any) {
if HOSP != (hospNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("hosp", isEqualTo: (hospNameField.text!))
} else if TEAM != (teamNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("team", isEqualTo: (teamNameField.text!))
} else if ASSIGNEDMD != (mdNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("assignedmd", isEqualTo: (mdNameField.text!))
query.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("error getting data: \(err)")
} else {
for document in (snapshot?.documents)! {
print(document.data())
}
我认为您缺少括号。如果你 运行 你只执行第三个查询 if statement.You 应该关闭最后一个 else if 然后 运行 查询。
试试这个:
@IBAction func getData(_ sender: Any) {
if HOSP != (hospNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("hosp", isEqualTo: (hospNameField.text!))
} else if TEAM != (teamNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("team", isEqualTo: (teamNameField.text!))
} else if ASSIGNEDMD != (mdNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("assignedmd", isEqualTo: (mdNameField.text!))
}
query.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("error getting data: \(err)")
} else {
for document in (snapshot?.documents)! {
print(document.data())
}
}
}
}
我正在尝试使用具有 3 个字段的 UIPickerView 查询 Firestore,但没有显示任何内容。如果我注释掉其中的 2 个字段和 运行 查询,我会得到结果。知道我遗漏了什么或做错了什么。请帮忙。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if hospNameField.isFirstResponder {
let itemselected = hospt[row]
hospNameField.text = itemselected
} else if teamNameField.isFirstResponder {
let itemselected = team[row]
teamNameField.text = itemselected
} else if mdNameField.isFirstResponder {
let itemselected = assignedmd[row]
mdNameField.text = itemselected
}
}
@IBAction func getData(_ sender: Any) {
if HOSP != (hospNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("hosp", isEqualTo: (hospNameField.text!))
} else if TEAM != (teamNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("team", isEqualTo: (teamNameField.text!))
} else if ASSIGNEDMD != (mdNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("assignedmd", isEqualTo: (mdNameField.text!))
query.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("error getting data: \(err)")
} else {
for document in (snapshot?.documents)! {
print(document.data())
}
我认为您缺少括号。如果你 运行 你只执行第三个查询 if statement.You 应该关闭最后一个 else if 然后 运行 查询。
试试这个:
@IBAction func getData(_ sender: Any) {
if HOSP != (hospNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("hosp", isEqualTo: (hospNameField.text!))
} else if TEAM != (teamNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("team", isEqualTo: (teamNameField.text!))
} else if ASSIGNEDMD != (mdNameField.text!) {
query = Firestore.firestore().collection(PTLIST_REF).whereField("assignedmd", isEqualTo: (mdNameField.text!))
}
query.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("error getting data: \(err)")
} else {
for document in (snapshot?.documents)! {
print(document.data())
}
}
}
}