【问题标题】:firebase snapshot key for children autoids用于儿童 autoids 的 firebase 快照键
【发布时间】:2016-06-21 19:54:42
【问题描述】:

我有以下结构:

DATA :
      -kojasd-      <----- child by autoid key name for folder
         property:value
      -kjofs-       <----- child by aytoid key name for folder
         property:value

如何在 snapshot.children 循环中获取 childbyautoid() 的键值?

这里有一些代码来解释:

for items in snap.children {
                    let key = items.key as! String  // DOESN T WORK 

                    let value = items.value!!["property"] as! String


                }

在这段代码中,snap 指的是 DATA

我以为得到这个键值很容易,但是我卡在这里很久了,有什么帮助吗?? :)

真诚的 亚恩

【问题讨论】:

  • 好的,找到了解决方案,我必须将 snap 传递给一个新的 fdatasnapshot 以获得它的密钥

标签: swift firebase


【解决方案1】:

对于使用新 Xcode 8 beta 3 和 swift 3 的人,许多符号已经改变,像下面的 sn-p 这样的东西应该给你孩子值 String ;基本上你需要再做一次检查并安全向上:

        for childSnap in  snapshot.children.allObjects {
            let snap = childSnap as! FIRDataSnapshot
            if let snapshotValue = snapshot.value as? NSDictionary, let snapVal = snapshotValue[snap.key] as? AnyObject {        
                print("val" , snapVal)
            }
        }

【讨论】:

    【解决方案2】:

    如果假设你有帖子,你可以像这样得到它。

    ref.child("posts").observeEventType(FIRDataEventType.Value, withBlock: { snapshot in
        for childSnap in  snapshot.children.allObjects {
            let snap = childSnap as! FIRDataSnapshot
            print(snap.key)
            let property = snap.value!["property"] as! NSString
        }
    })
    

    我知道遮阳篷已经给出,但我想再解释一下。

    【讨论】:

      【解决方案3】:

      我也花了一些时间,虽然你说这对你不起作用,但我认为应该这样做:

      rootRef.observeSingleEventOfType(.Value, withBlock: { snapshot in
          for item in snapshot.children {
              print(item.key)
          }
      })
      

      【讨论】:

      • 不,您必须将项目转换为新的 FDataSnapshot(如果机器人为 item.key 创建一个模糊的值),如下所示 let newitem:FDataSnapshot = item 然后访问 newitem.key 或值
      【解决方案4】:

      好的,找到了解决方案,我必须将 snap 传递给新的 fdatasnapshot 以获取其密钥

      【讨论】:

      • 多一点信息会有所帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多