当前位置: 首页 > 面试题库 >

下标的含糊用法(快速3)

姜泰宁
2023-03-14
问题内容

对于此Firebase数据提取,我在以下代码中错误地使用了下标,但是我无法弄清楚自己在做什么错。我在let uniqueID = each.value["Unique ID Event Number"] as! Int一行中使用下标模棱两可的错误。

// 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")
                    }
                }
       })
}

我尝试应用从这篇文章中学到的知识,但是我无法弄清楚我所缺少的内容,因为我想让编译器知道“
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"]!)")
    }
})


 类似资料:
  • 问题内容: 在我的Swift代码中,我不断收到“模棱两可地使用下标”的错误。我不知道是什么原因导致此错误。它只是随机弹出。这是我的代码: 问题答案: 问题是您正在使用NSArray: 这意味着这是一个NSArray。但是NSArray没有有关其元素的类型信息。因此,当您到达这一行时: … Swift没有类型信息,必须创建一个AnyObject。但是您不能对AnyObject下标,因此类似的表达式无

  • 问题内容: 目前,在我正在开发的Android应用程序中,我正在遍历图像的像素以使其模糊。在640x480的图片上,这大约需要30秒。 在Android Market中浏览应用程序时,我碰到了一个包含模糊功能的应用程序,它们的模糊速度非常快(例如5秒),因此它们必须使用另一种模糊方法。 除了遍历像素之外,有人知道更快的方法吗? 问题答案: 这是在黑暗中拍摄的,但是您可以尝试缩小图像,然后再次放大。

  • 本文向大家介绍Android动态模糊效果的快速实现方法,包括了Android动态模糊效果的快速实现方法的使用技巧和注意事项,需要的朋友参考一下 写在前面 现在,越来越多的App里面使用了模糊效果,这种模糊效果称之为高斯模糊。大家都知道,在Android平台上进行模糊渲染是一个相当耗CPU也相当耗时的操作,一旦处理不好,卡顿是在所难免的。一般来说,考虑到效率,渲染一张图片最好的方法是使用OpenGL

  • 本文向大家介绍CentOS 7下用yum快速安装MongoDB的方法教程,包括了CentOS 7下用yum快速安装MongoDB的方法教程的使用技巧和注意事项,需要的朋友参考一下 前言 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB是深受广大开源爱好者支持和研究的NoSQL数据库之一,它基于灵活的JSON文档方式,非常适

  • 本文向大家介绍教你快速实现Android动态模糊效果,包括了教你快速实现Android动态模糊效果的使用技巧和注意事项,需要的朋友参考一下 前言 雅虎天气的界面上滑的时候背景图片会跟着移动,最重要的是背景图片会根据手指上下移动的距离来进行不同程度的模糊,感觉甚为惊奇,毕竟大家都知道,在Android平台上进行模糊渲染是一个相当耗CPU也相当耗时的操作,一旦处理不好,卡顿是在所难免的。 一般来说,考

  • 本文向大家介绍mac下多个php版本快速切换的方法,包括了mac下多个php版本快速切换的方法的使用技巧和注意事项,需要的朋友参考一下 前言 php是为了快速构建一个web页面而迅速被大家广为接受的开源语言,通过不断发展已经有了很多的php开源系统,满足了目前大部分用户的站点需求。1995年初php诞生到现在已经存在多个版本,并且每个版本都属于一个系列,大多数网站源码都不能相互兼容,所以能够快速的