- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UITableView,它将使用此函数正确加载:
channelRef?.observeSingleEvent(of: .value, with: { (snapshot) in
self.updateTableViewWithPlayers(snapshot: snapshot)
})
func updateTableViewWithPlayers(snapshot: FIRDataSnapshot)
{
print(snapshot)
let storage = FIRStorage.storage()
let storageRef = storage.reference(forURL: "gs://omega-towers-f5beb.appspot.com")
if let snapDict = snapshot.value as? [String:AnyObject]{
for each in snapDict{
print(each.value)
let UIDs = each.value["userID"] as? String
let pictureVersion = each.value["PictureVersion"] as? String
if let allUIDS = UIDs{
if let allPictureVersions = pictureVersion{
如果其中有 1 个用户,则将其打印为输出:
Snap (-KeEan584BeCQ0eJ2dxs) {
"-KeEb2XMrCUFLfO90y0v" = {
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
};
name = sdddd;
}
{
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
}
这很好用。现在我想在新用户加入时更新 TableView 。我添加了这个功能:
channelRef?.observe(.childAdded, with: { (snapshot) -> Void in
self.updateTableViewWithPlayers(snapshot: snapshot)
})
打印出来:
Snap (-KeEbYVJIle8dhP1Oyxm) {
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
}
6
pietje
N4GifT8HvfRrDEkC09ARC1DnYyI3
我不知道为什么这个输出不同。我想有 1 个函数可以处理这两个函数(observe 和 observeSingleEvent),但我不确定为什么 observe 函数不能正常工作。谁能帮帮我?
最佳答案
您所说的打印出来的内容似乎很奇怪,但想法如下:observeSingleEvent 顾名思义将只运行一次。另一方面,observe 将在每次需要由 Firebase Cloud 调用该类型时调用。这意味着如果您对类型 .childAdded 使用 ** observeSingleEvent**,您的 block 将只被调用一个 child ,而通常 .childAdded 为该快照中的每个 child 运行。每次添加新 child 时都会继续调用。如果你想在每次添加新的 child 时更新你的 tableView,你应该使用 observe 和 .childAdded。
我不确定我是否回答了你的问题。如果没有,请告诉我。
关于swift - 如何处理 childAdded 与 observeSingleEvent 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559360/
当我在 API 调用之前启动事件指示器并在 API 调用之后停止时,我遇到了问题,但是如果我使用 .childAdded 填充 TableView,则无法正确执行此操作。由于 .childAdded
当/media 节点上的数据更新时,我正在尝试从 media 读取数据,但未调用 .observe(.childAdded。 例如,我在 /media/-LKN1j_FLQuOvnhEFfao/cap
我在向 Firebase 实时数据库添加新节点时遇到了一些问题。添加 child 时我得到了一些数据,但问题是我检索了键和 1 个值,但总共有 2 个值。 我有以下结构: -- groups
我正在使用一个 child 添加的观察者来检查用户在使用我的应用程序时是否收到新通知... func newLikeNotificationObserver() { notifHandle
我的 firebase 数据结构如下所示 user |__{user_id} |__userMatch |__{userMatchId}
我试图让我的程序将一个 child 的每个实例添加到一个数组中,但是每当我删除一个 child 然后添加另一个它重复添加的 child 两次,如果我再次这样做,它将重复 3 次,依此类推,具体取决于多
我正在尝试从 firebase 数据库检索 receiverId(下面的 JSON)。我知道如何使用 .Value 完成此操作,但使用 .ChildAdded 时遇到困难。 let postKey =
我正在尝试检索添加到我的 child 中的最新 child ,例如: 3D373545-2C7C-470F-9A79-C98C3BF90E0A -Ll-gQ3TB9W9pH8Z3Gn6
我之前发布了一个关于如何访问子快照中的数据的问题,在那里我得到了一个非常有效的答案。然而,这个解决方案只允许我按值检索数据——而不是我的 child 。你看,我有一个像这样的 JSON 树结构: Pl
我有一个 UICollectionViewController,它充当从我的 Firebase 数据库中检索和显示数据的提要。它是窗口的 Root View Controller ,因此它始终存在。我
我正在使用新的 firebase api 来观察实时数据库中名为“posts”的子路径 这是一个 JSON 条目: "posts" : { "-KLT6oYF-F_5sf-dC_2R" : { "
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
根据 Firebase 文档: ChildAdded is triggered once for each existing child and then again every time a new
当我从 View Controller 中调用此观察函数时,.childadded 立即返回一个已存储的对象,而不是像 .childadded 那样刚刚添加了 bin . func observe(c
我知道当使用.value时,我可以使用.exists()检查是否有任何内容 在这种情况下,我在 SearchController 中运行查询,并且需要返回多个结果。当有结果时,一切都正常,但如果没有,
我在 iOS 中使用 childAdded 观察器列出数据。我知道这是 Firebase 设计,它会在第一次列出数据和添加数据时调用。 我不想在添加数据时调用 childAdded。我有想法 FEve
我有一个 UITableView,它将使用此函数正确加载: channelRef?.observeSingleEvent(of: .value, with: { (snapshot) in
我有一个要使用 Swift 从 Firebase 检索的数据列表。我尝试使用 .Value 获取数据,Firebase 返回一个字典,其中包含每个项目的 ID 以及每个 ID 的关联信息。 我调用的端
我有以下代码来观察图片的新评论并显示所有图片的新评论总数: let ref4 = DatabaseReference.media.reference() let query4
我有一个简单的 iOS 应用程序,可以将 1,000 个联系人与我的 Firebase 同步。 persistenceEnabled 在我的 AppDelegate 中设置为 true。 在我的 UI
我是一名优秀的程序员,十分优秀!