我正在使用 pod CodableFirebase 来解码 Firebase 数据,并试图将该数据放入一个数组中。我遇到的问题是它将每个数据实例放入一个单独的数组中,这导致我在使用 IndexPath 时在 CollectionView 中使用时出现问题。
代码:
struct WatchList: Codable {
let filmid: Int?
}
var watchList = [WatchList]()
ref.child("users").child(uid!).child("watchlist").observe(DataEventType.childAdded, with: { (info) in
guard let value = info.value else { return }
do {
let list = try! FirebaseDecoder().decode(WatchList.self, from: value)
self.watchList = [list]
print(self.watchList)
self.watchlistCollection.reloadData()
}
}, withCancel: nil)
下面是数组打印到控制台的方式:
[Film_Bee.ProfileView.WatchList(filmid: Optional(332562))]
[Film_Bee.ProfileView.WatchList(filmid: Optional(369972))]
[Film_Bee.ProfileView.WatchList(filmid: Optional(335983))]
当我在 CollectionView 中使用数组时,它只对最后一个数组进行计数和索引路径。
如何将数据放入单个数组?
最佳答案
正如@vadian 所评论的那样
self.watchList = [list]
与
self.watchList.append(list)
解决了这个问题。
关于arrays - 从解码的 Firebase 数据中创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576498/