我有一个用户可以订阅或不订阅的主题列表。在主页上,我在桌面视图中显示用户订阅的房间列表。我不知道我是否过于复杂,但我很难理解如何让所有这些个别主题的实时观察者。
我的数据库看起来像:
topics:
stackoverflow:
users: 50
lastPost : 2384938943
twitch:
users : 50
lastPost : 209340932843
users:
user1:
favoritedRooms:
twitch : true
stackoverflow : true
因此,我可以从当前用户获取受欢迎的房间列表并将其存储到数组中。从那里,我不知道如果其中一个房间有价值更新,我不知道如何更新我的tableview。如果我做了一些事情,比如当我拿到它们然后做类似
之类的数组时将收藏的主题存储在数组中 for topic in favoritedTopicNames {
somereference.observe(.value) {
//make a Topic object
// append it to an array I'm basing my table off of and reloadData
}
}
然后我为每个主题设置了单独的.value观察者。我不能这样做,因为这意味着每次调用一个主题的观察者我只会回到那个主题,所以我无法清除我的数组,追加和重新加载,因为我最终只会有一个主题。
所以基本上我的问题是,如果我需要首先查询要观察的特定主题列表,这是我的主题节点的一个子集,我如何保持这些特定主题的实时订阅源,以便在用户数量或lastPost数字已更改,我可以更新我的标签并保持信息的直播吗?