使用 Swift 和 Firebase 检查用户是否存在

2023-12-31

我目前正在尝试编写一个在用户存在时传递用户数据的函数。当用户名在数据库中时,代码没问题,但如果数据库中没有记录用户名,我不知道如何有返回函数。

我是初学者,这就是我所做的:

func observeUserByUsername(username: String, completion: @escaping (Userm?) -> Void) {
      REF_USERS.queryOrdered(byChild: "username_lowercase").queryEqual(toValue: username).observeSingleEvent(of: .childAdded) { (snapshot) in

         if let dict = snapshot.value as? [String: Any] {
            let user = Userm.transformUser(dict: dict, key: snapshot.key)
            completion(user)
         } else {
            print("no user")
            completion(nil)
         }
      }
}

我想要这样的东西:如果有用户使用这个用户名->返回nil(用于完成)。

你知道我该怎么做吗?


因此,如果我猜对了,您只需检查具有该用户名的用户是否存在。您只需输入firebase的路径并使用exists()方法检查该子节点是否存在。我有一个类似的方法,你可以改变它以适合你的项目。

func checkUsernameAvailability(completion: @escaping (_ available:Bool)->()){
    guard let lowercasedText = usernameTextField.text?.lowercased() else {completion(false); return}
    let ref = Database.database().reference().child("users").child("username").child(lowercasedText)
    ref.observeSingleEvent(of: .value) { (snapshot) in
        if snapshot.exists(){
            completion(false)
            return
        }else{
            completion(true)
        }
    }
}

请注意,Firebase 不区分大小写(这就是为什么我总是检查并存储小写版本)。如果你的子节点例如是“用户名”,并且您搜索名称“用户名”,它会告诉您已经有一个使用此名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Swift 和 Firebase 检查用户是否存在 的相关文章

  • 转发 UIAlertView 的可变参数

    我正在尝试设置一个非常简单的UIAlertView带有文本编辑 确定和取消按钮 我想根据文本编辑的内容禁用确定按钮 为了能够保留委托 以便他不会在警报视图之前消失 从而在用户对警报视图执行某些操作时立即导致崩溃 我对其进行了子类化 现在 我
  • 将 swift 结构体转换为 json 字符串

    我正在尝试将我的 swift 结构转换为 json 格式 类似这样的问题似乎有不少 但到目前为止 没有一个解决方案对我有用 这是我的结构 struct Rec Codable var name String var time Int var
  • 类型名称已知却未知?

    Xcode 突然显示了此错误 未知类型名称 我会解释一下 我的 StoriesViewController h import
  • FireStore 日期查询未按预期工作

    我有一个有日期对象的文档 初始化 Firestore 的代码 FirebaseFirestore fireStore FirebaseFirestore getInstance FirebaseFirestoreSettings setti
  • App Store Connect 上传错误“您尚未获得云管理分发证书的访问权限”

    使用 Xcode 将 iOS 应用程序上传到 App Store Connect 自动管理签名 并收到此错误 查找和生成签名资产时发生以下错误 与苹果通讯失败 您尚未获得云管理分发证书的访问权限 请联系您团队的帐户持有人或管理员以授予您访问
  • 如何开发iPhone MDM服务器?

    我刚刚阅读了有关适用于 iOS 设备的移动设备管理服务器的信息 但所有文档均指 第三方 MDM 服务器 我的问题是如何自己开发一个 第三方 MDM 服务器 我找不到任何关于此的文档 你有简单的方法和困难的方法 Easy way OSX Li
  • 终止应用程序后发送本地通知 swift 2

    当应用程序状态进入终止 不运行状态时 可以在特定时间后执行某些特定任务 func applicationDidEnterBackground application UIApplication print APP in background
  • 翻转通过CVOpenGLESTexture获得的OpenGL ES纹理

    在我尝试 OpenGL ES 2 0 的最后一天 当我尝试将两个投影纹理 一个精灵动画和一个视频文件纹理 应用到天空盒时 我开始像存根一样简单地用手敲击键盘 奇迹般地它就成功了 一切都开始工作了 然而 从视频文件创建的纹理是颠倒的 换句话说
  • 修改多张照片时只有一个 iOS 权限对话框

    我的应用程序允许用户从相机胶卷中选择多个图像并对这些图像应用编辑 但是 它会提示用户获得每个图像编辑的权限 编辑用户图像时是否可以只显示一个权限对话框 如果是 我该如何将我的编辑分组为一项权限 这是我的应用程序的屏幕截图 我在应用商店中发现
  • iOS 版 Google 地图 SDK 中的热图

    有没有办法添加热图图层适用于 iOS 的 Google 地图 SDK https developers google com maps documentation ios 注意 我指的是存在于Javascript 版本的 Google 地图
  • 获取 Firebase AngularFire 中项目的索引 ID

    这里提出了类似的问题 但接受的答案并没有真正回答这个问题 使用 AngularFire 是否可以创建关系型数据库 或者访问 UniqueID https stackoverflow com questions 16879484 using
  • Swift 1.2 和 Swift 2.0 中的字符串长度[重复]

    这个问题在这里已经有答案了 在以前版本的 Swift 中 我有以下代码 func myfunc mystr String if mystr utf16Count gt 3 使用最新版本的 Swift 1 2 我现在收到以下错误 utf16C
  • 无法更改 UITabBarItem.image:CSI 中不支持的像素格式

    我试图通过代码更改选项卡栏中显示的图像 我目前正在使用 Swift 和 Xcode 6 beta 3 我导入了 tabBarImage png 并 电子邮件受保护 cdn cgi l email protection在 Images xca
  • Firebase 邀请发送电子邮件,但不发送短信。返回结果代码 0

    我正在尝试使用 Firebase 在我的 Android 应用程序中实现应用程序邀请系统 该代码与他们中给出的完全相同guide https firebase google com docs invites android private
  • 扩展中的 Swift 覆盖函数

    如果我有课 class Spaceship
  • 具有自定义视图的相机

    我的应用程序使用相机 我想在相机预览上添加叠加层 例如 我想在使用相机时使用相框 还想添加一个用于相机操作的自定义栏 请帮助我做同样的事情 您可能正在尝试使用 UIImagePickerController 但我知道这个可以解决你的问题 您
  • Xamarin Form - IOS:如何检测 UIView 大小已更改

    我使用 ContentView 创建了一个 Xamarin 表单 并为 Android 创建了一个渲染器 现在我必须为 IOS 创建一个渲染器 在 android 渲染器中 我可以重写 onSizeChanged 并将这些宽度 高度值传递给
  • FlurrySDK 与 cocoapods

    我正在尝试使用 Cocoapods 将 FlurrySDK 框架集成到我的应用程序中 正如我已经使用很多框架所做的那样 但由于某种原因 xcode 不断抛出此编译错误 Undefined symbols for architecture a
  • SwiftUI:如何更新由一组静态数据驱动的列表并从另一组动态数据中提取一些信息?

    我什至不确定标题问题是否有意义 不管怎样 请继续阅读 编辑 交叉链接到苹果开发者论坛 https developer apple com forums thread 663208 编辑 这是源代码 http git morpheu5 net
  • 在 Mobile Safari 中点击

    敲击

随机推荐