【发布时间】:2016-10-21 10:58:33
【问题描述】:
我有一个字符串数组,我正在尝试通过 firebase 填充它。它是一个聊天应用程序,当用户创建房间时,他或她会为房间命名。当用户登录并进入登录页面时,它会查询他或她参与的所有房间,我希望它能够填充 tableview。在 firebase 文档中,我找到了 childrenCount,但我似乎无法让它工作。这是我迄今为止尝试过的
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let ref = firebase.child("users").child(fUID).child("participating")
ref.observe(.value, with: { (snapshot: FIRDataSnapshot!) in
print(snapshot.childrenCount)
rooms.count = snapshot.childrenCount
})
return rooms.count
}
我得到一个错误,计数是一个只能获取的属性。 如何填充该数组计数?
【问题讨论】:
-
你不能这样设计tableview,在调用tableView.reloadData()之前必须初始化变量“room”,函数numberOfRowsInSection应该只包含一行代码“return rooms.count”和您以不同的功能修改房间(例如在 viewDidLoad 中)
-
因为看起来你的代码的问题是这个
rooms.count = snapshot.childrenCount -
@MazelTov 是的,问题出在那条线上,知道如何解决吗?
-
有几种方法可以做到这一点,我会在 viewDidLoad 中执行 Firebase 查询并将房间保存在某个数组中......在 numberOfRowsInSection 中,您将只返回对象...
标签: ios swift firebase firebase-realtime-database