gpt4 book ai didi

ios - 如何使用 firebase 在 swift 代码上创建搜索字段?

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

我正在尝试使用 firebase 制作一个具有两个身份验证级别的 iOS 应用程序。第二个身份验证必须通过在文本字段中插入位于数据库中的代码来验证。

json root

//
// AccessoTerzoLivello.swift
// amesci
//
// Created by Gianluca Caliendo on 07/07/17.
// Copyright © 2017 Amesci. All rights reserved.
//

import UIKit
import Firebase

class AccessoTerzoLivello: UIViewController {

@IBOutlet weak var CodiceVolontarioTxt: UITextField!

@IBAction func Accedi(_ sender: UIButton) {

var rootRef: DatabaseReference!

rootRef = Database.database().reference()

var conditionalRef = rootRef.child("SchedaVolontari")

conditionalRef.observe(.value) {(snap: DataSnapshot) in }

if self.CodiceVolontarioTxt.text = snap

}
else {
let alert = UIAlertController(title: "Errore", message: "Codice volontario non valido", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "ok", style: UIAlertActionStyle.default, handler: nil))

self.present(alert, animated: true, completion: nil)
}
}
}

最佳答案

你走在正确的道路上。您的线路有问题:

if self.CodiceVolontarioTxt.text = snap

Snap 是一个保存您的代码的字典,您无法将它与您的文本输入进行比较。首先,您必须从中获取所有代码。

这是一些代码。我还没有测试过这个,但它会给你一个想法。将完成 block 中的 if else 语句替换为:

// This is empty array which will contain all the codes
var codesArray: NSMutableArray = []

// Get all the children from snapshot you got back from Firebase
let snapshotChildren = snap.children

// Loop over all children (code) in Firebase
while let child = snapshotChildren.nextObject() as? FIRDataSnapshot {
// Get code node key and save it to codes array
codes.add(child.key)
}

// Compare if inserted text matches any code from database
if codesArray.contains(self.CodiceVolontarioTxt.text) {
print("Code exists in Firebase")
} else {
print("Code does not exist in Firebase")
}

关于ios - 如何使用 firebase 在 swift 代码上创建搜索字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44973672/

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