首页 > 解决方案 > 将标签添加到原型单元格

问题描述

我需要向原型单元格添加标签,但出现错误“'UITableViewCell' 类型的值没有成员'movieTitleLabel'。

import UIKit

class FirstTableView: UITableViewController {

let model = MovieModel()

override func viewDidLoad() {
    super.viewDidLoad()
}

override func numberOfSections(in tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return model.MovieArray.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "movieCells", for: indexPath) as! TableViewCell
    cell.movieTitleLabel?.text = model.movieArray[indexPath.row]

    return cell
}

我在编辑器中将 FirstTableView 设置为委托和数据源。

我创建了一个名为 TableViewCell 的新子类,将标签链接到该类。现在我不知道如何将movieArray输出到该标签。

标签: iosswiftuitableview

解决方案


你忘了向下转换cell到你的UITableViewCell子类,所以你只引用了超类UITableVoewCell,而这个超类没有任何movieTitleLabel.

要解决此问题,请添加as! YourTableViewCellSubclass到您出列的行的末尾cell

let cell = tableView.dequeueReusableCell(withIdentifier: "movieCells", for: indexPath) as! YourTableViewCellSubclass

推荐阅读