arrays - 从解码的 Firebase 数据中创建一个数组

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

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

最佳答案

正如@vadian 所评论的那样

self.watchList = [list]

self.watchList.append(list)

解决了这个问题。

关于arrays - 从解码的 Firebase 数据中创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576498/

相关文章:

swift - Firebase 连接状态在第一次运行时总是返回 false

python - 取消嵌套 Numpy 数组

php - 新的 5.4 数组短数组语法 : Good practice?

swift - 带有 SwiftUI View 的 UIKit TabBar

ios - Swift 以编程方式将 UIImageView 放在另一个之上并调整大小

ios - Firebase 导致 "Thread 1: signal SIGABRT"

swift - Firebase 数据结构建议

ios - fatal error : Unexpectedly found nil while unwrapping an Optional value (lldb)

javascript - 在javascript中按值作为键创建新对象

arrays - Swift:在 Core Data 中存储自定义类的数组