如何子类化 UITableViewCell?

How to subclass a UITableViewCell?

我得到了这个旧的 post:How to subclass UITableView? and this old video: https://www.youtube.com/watch?v=FfZGKx4BYVU 但这对我没有帮助。我想要的很简单,我有一个带有动态单元格的 UITableViewController。我想排出那些细胞。这只有在我 "subclass" 时才有可能。我制作了另一个文件,如下所示:

import UIKit

class CreateChannelCell: UITableViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

但我仍然无法将 UITableViewController 中的那些出口添加到此文件中。我的细胞需要是动态的。我想我只缺少一步,但那是哪一步?谢谢。

您需要在 table 视图中注册您的自定义 class。

如果单元格与您的 table 视图位于同一场景中:

tableView.register(MyCustomCell.self, forCellReuseIdentifier: "cell")

如果你在不同的笔尖上设计它(比如说MyCustomCell.xib):

let nib = UINib(nibName:@"MyCustomCell" bundle: .main)
tableView.register(nib, forCellReuseIdentifier: "cell")

这才是subclass的正确方法。但是,如果您使用的是故事板或 Xib 文件,那么您需要在您创建的 UITableView 中引用 CreateChannelCell 以及 CreateChannelCell 所在的位置。

你需要 select 单元格,然后转到 CustomClass 并在那里写下你的 class 的名字......在这种情况下 CreateChannelCell

如果您没有使用 Storyboards 或 Xib,请参阅 Code Different

提供的答案