根据解码的Firebase数据创建阵列

时间:2018-12-02 01:17:20

标签: arrays swift firebase firebase-realtime-database

我正在使用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中使用数组时,它仅对最后一个数组进行计数和索引路径。

如何将数据放入单个数组?

1 个答案:

答案 0 :(得分:1)

@vadian替换评论

self.watchList = [list]

self.watchList.append(list)

解决了问题。