我正在使用谷歌Firebase的实时数据库,并试图判断是否存在一个子元素.

我的数据库 struct 如下

- / (root)
-   /users/
–-    /james/
--    /jake/
-   /rooms/
--    /room1/
---      (room 1 properties)
--    /room2/
---      (room 2 properties)

我想看看是否有1号房间.

let roomName:String = "room1"
roomsDB.child(roomName).observeSingleEventOfType(.Value) { 
(snap:FIRDataSnapshot) in
    let roomExists:Bool = snap.value != nil ? "TAKEN" : "NOT TAKEN"
 }

在访问snap.value时,它返回该房间属性的JSON,但我如何判断房间(/rooms/room1/)是否在那里?

如果需要任何澄清,请发表 comments

推荐答案

self.ref = FIRDatabase.database().reference()

   ref.child("rooms").observeSingleEvent(of: .value, with: { (snapshot) in

        if snapshot.hasChild("room1"){

            print("true rooms exist")

        }else{

            print("false room doesn't exist")
        }


    })

Swift相关问答推荐

如何使用快速宏用来自函数的关联值来初始化枚举?

如何在visionOS中进行购买?&# 39;购买(选项:)在visionOS中不可用

background Task(.backgroundTask)不适用于MySQL

如何在SwiftUI 4+(iOS 16+)中使用新的NavigationStack进行导航

Observable.create 捕获行为

OSX 中的 Popover 无法确定透明度

在领域 SwiftUI 异常中使用 Apple 登录:无法识别的 Select 器发送到实例

如何让默认函数参数引用另一个函数参数?

如何在 Swift 中使用子定义覆盖父类扩展

是否可以使任何协议符合 Codable?

如何获得不同的插入和移除过渡动画?

在 xcode 13 中的构建之间保持可访问性权限

在swift 3中将文件保存在文档目录中?

让我的函数计算数组 Swift 的平均值

MKAnnotation Swift

自动布局:获取 UIImageView 高度以正确计算单元格高度

使用相机进行人脸检测

如何在 SwiftUI Segmented Picker 中更改选定的段 colored颜色

如何快速显示数组的所有元素?

ISO8601DateFormatter 不解析 ISO 日期字符串