微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

下标的模糊使用(Swift 3)

我正在使用以下代码中的下标错误获取此Firebase数据,但我无法弄清楚我做错了什么.我得到一个错误,即对于let uniqueID = each.value [“唯一ID事件编号”]的下标不明确使用!直线.
// Log user in
if let user = FIRAuth.auth()?.currentUser {

       let uid = user.uid
       // values for vars sevendaysAgo and oneDayAgo set here

       ...

       let historyRef = self.ref.child("historyForFeedbackLoop/\(uid)")
            historyRef.queryOrdered(byChild: "Unix Date").queryStarting(atValue: sevendaysAgo).queryEnding(atValue: oneDayAgo).observeSingleEvent(of: .value,with: { snapshot in

                if (snapshot.value is NSNull) {
                    print("user data not found")
                }
                else {

                    if let snapDict = snapshot.value as? [String:AnyObject] {

                        for each in snapDict {

                            // Save the IDs to array.
                            let uniqueID = each.value["Unique ID Event Number"] as! Int
                            self.arrayOfUserSearchHistoryIDs.append(uniqueID)
                        }

                    }
                    else{
                        print("SnapDict is null")
                    }
                }
       })
}

我尝试应用我从这个post中学到的东西,但我无法弄清楚我错过了什么,因为我以为我让编译器知道它是什么类型的字典“as?[String:AnyObject]”

任何想法或想法将不胜感激!

我处理数据的首选方法是尽可能晚地打开FIRDataSnapshot.
ref!.observe(.value,with: { (snapshot) in
    for child in snapshot.children {
        let msg = child as! FIRDataSnapshot
        print("\(msg.key): \(msg.value!)")
        let val = msg.value! as! [String:Any]
        print("\(val["name"]!): \(val["message"]!)")
    }
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐