Ios 将UITbale视图连接到firebase实时数据库时出现展开错误

Ios 将UITbale视图连接到firebase实时数据库时出现展开错误,ios,swift,database,firebase-realtime-database,swift4,Ios,Swift,Database,Firebase Realtime Database,Swift4,我正在尝试获取一个UITableview,以便从firebase数据库读取视频。 我已连接到firebase数据库。设置我的数据库,如图所示: 我建立了一个结构和链接,并有视频链接到它。 该应用程序读取数据库标题很好,但当我点击直接链接到视频的单个单元格时,我得到了一个展开错误 因此,表格视图中填充了标题“视频1”和“视频2”,但由于某些原因,这些单元格没有读取存储在firebase中的视频文件的链接 我建立的结构是: viewcontroller.swift中的代码为: 导入UIKit 进

我正在尝试获取一个UITableview,以便从firebase数据库读取视频。 我已连接到firebase数据库。设置我的数据库,如图所示:

我建立了一个结构和链接,并有视频链接到它。 该应用程序读取数据库标题很好,但当我点击直接链接到视频的单个单元格时,我得到了一个展开错误

因此,表格视图中填充了标题“视频1”和“视频2”,但由于某些原因,这些单元格没有读取存储在firebase中的视频文件的链接

我建立的结构是:

viewcontroller.swift中的代码为:

导入UIKit 进口火基 导入FirebaseDatabase 进口AVKit 进口AVF基金会

类ViewController:UIViewController、UITableViewDelegate、UITableViewDataSource{

 var table = [Videos]()
var ref: DatabaseReference!

@IBOutlet weak var Tableview: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    ref = Database.database().reference().child("videos")
    ref.observe(DataEventType.value, with: {(snapshot) in
        if snapshot.childrenCount > 0 {
            self.table.removeAll()

            for video in snapshot.children.allObjects as! [DataSnapshot] {

                let Object = video.value as? [String: AnyObject]
                let Title =  Object?["Title"]
                let videolink = Object?["link"]

                let video = Videos(Title: Title as? String, link: video as? String)
                self.table.append(video)

                self.Tableview.reloadData()
            }
        }
    })
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = Tableview.dequeueReusableCell(withIdentifier: "cell") as! TableViewCell
    let video: Videos
    video = table[indexPath.row]
    cell.titleLabel.text = video.Title
    return cell 
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    guard let videoURL = URL(string: table[indexPath.row].link!) else {
        return
    }

    let player = AVPlayer(url: videoURL)

    let controller = AVPlayerViewController()
    controller.player = player

    present(controller, animated: true) {
        player.play()
    }   
}
}
我还有一个TableViewCell.swift文件:

这是一个相当简单的项目,但我不知怎么被卡住了。如果有人能看到我哪里出了问题,那就太好了


谢谢。

我想问题出在这一行:

let video = Videos(Title: Title as? String, link: video as? String)
应该是:

let video = Videos(Title: Title as? String, link: videolink as? String)
希望这有帮助