我有一个带有自定义单元格的TableView,它需要相当长的配置,并且在我的应用程序中多次使用。我想避免重复的代码,只在一个地方配置单元。我可以创建这样的函数吗?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "betterPostCell", for: indexPath) as! BetterPostCell

        return configureCell(cell)
}

理想情况下,我可以将configureCell放入BetterPostCell类。这可能吗?

最佳答案

是的,您可以这样做,而且这是防止表视图代码爆炸的好方法,特别是当您在一个表视图中有许多不同类型的单元格时。
在BetterPostCell类中,创建一个名为configure的方法,如下所示:

func configure() {
     //configure your cell
}

然后在cellForRowAt方法中,从您的单元格中调用该方法:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "betterPostCell", for: indexPath) as! BetterPostCell
        cell.configure()
        return cell
}

09-07 14:10