Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Firebase查询创建表视图(iOS、Swift)

从Firebase查询创建表视图(iOS、Swift)
EN

Stack Overflow用户
提问于 2017-01-13 12:09:20
回答 1查看 895关注 0票数 0

我正在尝试实现一个搜索栏,以便基于搜索查询填充一个表视图。我只是在这里寻找用户名。

数据结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"Users"
  -"UID"
    -"Username"

我在搜索栏中输入了一个文本的查询。我可以把搜索结果打印出来,所以我知道他们会回来的。但是,我不能从查询闭包中分离数据,并且不知道该做什么

我尝试构建一个内部数组,然后将外部数组设置为它,但是它总是包含零值。我知道我的for-循环正在运行,而且我知道值正在返回。他们只是没有被拯救。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        self.filteredNameList = []
    let searchText = searchText.lowercased()
    let userQuery = ref.queryOrdered(byChild: "username").queryStarting(atValue: searchText)

    userQuery.observeSingleEvent(of: .value, with: { (snapshot) in
        for snap in snapshot.children {
            let userSnap = snap as! FIRDataSnapshot
            let userDict = userSnap.value as! [String: AnyObject]
            let name = userDict["username"] as! String
            self.filteredNameList.append(name)
        }
        self.tableView.reloadData()
        print("Inside closure: \(self.filteredNameList)")
    })
    print("Outside closure: \(self.filteredNameList)")
}

我该怎么办?谢谢-基南

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-13 12:53:56

下面是一个经过测试的例子

给出一个火基结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
users
  uid_0
    name: "bill"
  uid_1
    name: "leroy"
  uid_2
    name: "frank"
  uid_3
    name: "leon"

我们希望返回以“le”开头的所有节点,并将它们存储在一个数组中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var namesArray = [String]() //note this is stored outside the function so other
                            //functions can access it.

func getSomeLe() {
  self.namesArray = [] //init it any time this func is called.
  let usersRef = ref.child("users")
  let queryRef = usersRef.queryOrdered(byChild: "name").queryStarting(atValue: "le")

    queryRef.observeSingleEvent(of: .value, with: { (snapshot) in

      for snap in snapshot.children {
          let userSnap = snap as! FIRDataSnapshot
          let uid = userSnap.key
          let userDict = userSnap.value as! [String:AnyObject]
          let name = userDict["name"] as! String
          self.namesArray.append(name)
      }
      print(self.namesArray)
  })
}

将数据存储在数组中并打印

“勒罗伊”,“里昂”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41642690

复制
相关文章
Firebase 如何创建登录 Token
Firebase 的 token 可以使用 firebase 命令行工具来进行创建。
HoneyMoose
2021/04/02
2.5K0
Firebase 如何创建登录 Token
Activiti开发案例之创建用户表视图实现关联查询
在工作流中,最常用的就是待办任务列表了,如果你仅仅是通过 Activiti 自带的 API 进行查询,大多数情况下查询的数据会不准确。
小柒2012
2019/12/05
1.1K0
在Swift中创建可缩放的图像视图
没有什么比完美的图片更能让你的应用程序熠熠生辉,但如果你想让你的应用程序用户真正参与并与图片互动呢?也许他们想放大、平移、掌握这些图像?
玖柒的小窝
2021/11/05
5.7K0
iOS开发之表视图爱上CoreData
  在接触到CoreData时,感觉就是苹果封装的一个ORM。CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功能和JavaEE中的Hibernate的功能类似,最基本是两者都有通过对实体的操作来实现对数据库的CURD操作。CoreData中的上下文(managedObjectContext)就相当于Hibernate中的session对象, CoreData中的save操作就和Hibernate中的commit,还
lizelu
2018/01/11
2.2K0
iOS开发之表视图爱上CoreData
Oracle创建用户并给用户授权查询指定表或视图的权限
CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TBS_DNINMSV31"  TEMPORARY TABLESPACE "TEMP2"  QUOTA UNLIMITED ON "TBS_DNINMSV31";
星哥玩云
2022/08/17
8.2K0
[译]《iOS Human Interface Guidelines》——Table View表视图
API NOTE 查看Table View Programming Guide for iOS和UITableView来学习更多关于在你的代码中定义表视图的内容。
Cloudox
2021/11/23
2.4K0
[译]《iOS Human Interface Guidelines》——Table View表视图
iOS_Swift根据类名创建类
String需要根据项目名生成命名空间前缀+类名 再将String转换成需要生成的类型Type 再调用 Type.init() 生成对象
mikimo
2022/07/20
7340
iOS - Swift 创建代理协议的多种方式
�假如有一个类为 LXFView,现在要为这个类创建一个代理协议,我们该如何做呢? 首先,代理协议的命名方式:类名 + Delegatev protocol LXFViewDelegate { func view(_ view: LXFView) } 当我们创建的协议遵守其它协议的情况下,只是这样写并不会报错,接下来我们在LXFView中添加一个代理属性,为避免循环引用,代理属性需要用weak修饰 class LXFPageView: UIView { weak var deleg
LinXunFeng
2018/06/29
4790
mysql跨库关联查询(创建视图)
我们使用的场景是:我们使用的是微服务架构,考虑的是模块划分,分为了业务配置服务,基础服务,业务服务等模块,数据库也进行了拆分,不同的模块使用不同的数据库。由于微服务的划分,导致,一些查询,需要跨模块表与表之间的关联查询,设计到跨库。
挑战者
2019/01/02
10.2K0
sqlserver怎么用语句创建表_mysql查询表的创建语句
原文地址:http://database.51cto.com/art/201010/231018.htm
全栈程序员站长
2022/11/02
8.7K0
查询oracle视图创建语句及如何向视图中插入数据[通俗易懂]
今天由于要测试接口,需要在数据库中插入一些测试数据。但当我在向数据库插入数据的时候,发现接口查询的是视图并不是表,所以将遇到的问题在这里记录一下。
全栈程序员站长
2022/07/28
4.3K0
查询oracle视图创建语句及如何向视图中插入数据[通俗易懂]
iOS表视图单元格高度自适应
iOS表视图高度自适应可以节省很多麻烦,尤其是涉及到复杂的业务逻辑时,今天尝试了使用Masonry和FDTemplatelayoutCell来布局表视图单元格,从而达到单元格高度自适应的效果,这里就总
梧雨北辰
2018/04/24
1.8K0
iOS表视图单元格高度自适应
IOS移动开发从入门到精通 swift进阶
func 1 func sayHelloSwift() 2 { 3 print(“Hello, Swift!”) 4 }
用户5760343
2019/07/05
5770
Swift 视图抖动扩展一
要给视图添加一个抖动效果,比如登录时输入框校验出错给出提示之类的~~~反正就是项目中用到了咯。。。 那就写个就是了 基本思路就是让视图左右移动或者上下移动 调用视图的仿射变换函数就可以了吧 view.layer.setAffineTransform( CGAffineTransform(translationX: 2, y: 0)) 这就可以让视图往左变换了,往右就是-2咯,改Y就是上下呗 抖动,抖动肯定是有次数的,我们根据次数来移动视图,每次调用自身扩展修改方向 具体代码我就粘在下面咯,反正也没多少行 /
韦弦zhy
2018/09/11
1K0
Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
owner 表述该表所属的用户,如果需要查询指定用户所有的表,通过 owner 进行筛选即可。 【实例1】
小蓝枣
2021/12/01
1.9K0
Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
Swift 视图抖动扩展二
嗯。。。UIView 的 animation 方法里面的 options 还有个.repate,是的,就是动画重复,所以我们可以不用去自己算重复的动画次数。。so,使用这个扩展也是可以的
韦弦zhy
2018/09/11
9050
如何用TensorFlow和Swift写个App识别霉霉?
在很多歌迷眼里,尤其是喜欢乡村音乐的人,“霉霉”Taylor Swift是一位极具辨识度也绝对不能错过的女歌手。在美国硅谷就有一位非常喜欢 Taylor Swift 的程序媛 Sara Robinson,同时她也是位很厉害的 APP 开发者。喜爱之情难以言表,于是利用机器学习技术开发了一款iOS 应用,可以随时随地识别出 Taylor Swift~~~
猿哥
2019/07/25
12.2K0
mysql创建临时表,将查询结果插入已有表中
        今天遇到一个很棘手的问题,想临时存起来一部分数据,然后再读取。我记得学数据库理论课老师说可以创建临时表,不知道mysql有没有这样的功能呢?临时表在内存之中,读取速度应该比视图快一些。然后还需要将查询的结果存储到临时表中。下面是创建临时表以及插入数据的例子,以供大家参考。 A、临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表: 1)定义字段   CREATE TEMPORARY TABLE tmp_table (       name VAR
苦咖啡
2018/05/07
9.9K0
Oracle创建用户并把当前的表视图给予权限
本站文章除注明转载/出处外,均为本站原创,转载前请务必署名,转载请标明出处 最后编辑时间为: 2021/10/28 15:46:00
overme
2022/01/17
1.1K0
点击加载更多

相似问题

Firebase复杂查询- iOS Swift

13

从firebase查询创建列表视图

14

iOS swift中的Firebase查询

111

使用firebase查询结果填充的列表视图SWIFT IOS问题

10

iOS Swift -从Firebase中的日期范围查询值

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文