在不同的控制器中重用表格视图单元的一部分

时间:2019-07-13 01:48:38

标签: ios swift swift4

我有一个表格视图单元格,其中带有一个按钮,单击该按钮时将显示一个动作视图。

在阅读this answer后,应该在控制器中处理显示动作视图的逻辑。

问题是,我在多个不同的控制器中使用了这些表格视图单元,将动作视图逻辑复制并粘贴到该表格视图单元所在的每个控制器中似乎是违反直觉的。

所以我的问题是,处理此问题的最佳方法是什么?有没有办法我可以在一个地方处理所有动作视图逻辑,并将控制器转交给该代码?

1 个答案:

答案 0 :(得分:0)

在tableview单元格中具有单击操作,并在cellforrow中传递变量,这样您就知道要从哪个屏幕进入并相应地处理单击。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell : RiderCell! = tableView.dequeueReusableCell( withIdentifier: "RiderCell") as! RiderCell
    cell.UpdateCell(from:"Profile")
    cell.selectionStyle = .none
    return cell as RiderCell
}

在您的表格单元格中

import UIKit

class RiderCell: 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
}

func UpdateCell(from:String){
    //manage click here
}

}