如何使用 Firebase 实时数据库制作部分并将图像放入表格视图中

问题描述

我正在制作一个基于 firebase 的应用程序。我需要将数据拆分为部分和单元格并向单元格添加图片。但现在我只将数据放在单元格中,无法向单元格添加图像。并且不知道如何制作部分。 This is my tree in firebase

这是我的模型:

class Movie {
    var movieName: String
    var movieDuration: Int
    var movieDescription: String
    var movieGenre: String
    var movieImage: String

    init(movieName: String,movieDescription: String,movieDuration: Int,movieGenre: String,movieImage: String) {
        self.movieName = movieName
        self.movieDuration = movieDuration
        self.movieDescription = movieDescription
        self.movieGenre = movieGenre
        self.movieImage = movieImage
    }
} 

和 TableViewController 代码:



var ref: DatabaseReference?
var movies = [Movie]()

override func viewDidLoad() {
    super.viewDidLoad()

    ref = Database.database().reference().child("Monday")
    ref?.observe(.childAdded){ [weak self](snapshot) in
        let key = snapshot.key
        guard let value = snapshot.value as? [String: Any] else {return}
        if let movieDescription = value["description"] as? String,let movieDuration = value["duration"] as? Int,let movieGenre = value["genre"] as? String,let  movieImage = value["image"] as? String {
            let movie = Movie(movieName: key,movieDescription: movieDescription,movieDuration: movieDuration,movieGenre: movieGenre,movieImage: movieImage)
            self?.movies.append(movie)
            if let row = self?.movies.count {
                let indexPath = IndexPath(row: row-1,section: 0)
                self?.tableView.insertRows(at: [indexPath],with: .automatic)
            }
        }
    }
}

override func numberOfSections(in tableView: UITableView) -> Int {
    return 0
}

override func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
    return movies.count
}

override func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let movie = movies[indexPath.row]
    let cell = tableView.dequeueReusableCell(withIdentifier: "MovieCell",for: indexPath)
    cell.textLabel?.text = movie.movieName
    cell.textLabel?.textColor = .white
    cell.detailTextLabel?.text = movie.movieGenre
    cell.detailTextLabel?.textColor = .white

    return cell
}

如果有人可以帮助我,那就太好了...)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)