“ CustomTableCell”类型的值没有成员委托

时间:2018-07-13 03:33:23

标签: ios iphone swift ios11 swift4.1

我有一个名为CustomTableCell的UITableViewCell子类,该子类在swift 4.1中声明。文件。

在我具有cellTableRowAt中的UITableView的视图控制器中:

let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self

我收到以下错误:

Value of type 'CustomTableCell' has no member delegate.

我在顶部声明了UITableViewDelegate。

1 个答案:

答案 0 :(得分:2)

UITableViewDelegate不需要(3,3,200,128)

如果CustomTableCell有cell.delegate = self,则只需分配即可。因此,如果您的Custom Delegate没有蚂蚁Custom Delegate,请删除该行。

对于tableView委托方法,您必须在viewDidLoad()中添加它:

CustomTableCell

或仅使用yourTableView.delegate = self yourTableView.dataSource = self 进行连接。

答案:您如何在CustomTableCell类中创建单元委托?只是好奇

CustomTableCell.swift:

StoryBorad

然后在// Custom protocol protocol CustomCellDelegate: NSObjectProtocol { // Protocol method func someFunctionToPassSomeValue(name: String) } class CustomTableCell: UITableVieCell { weak var delegate: CustomCellDelegate? // Your class implementations and outlets.. //Call your protocol method in some action, for example in button action @IBAction func buttonAction(sender: UIButton) { delegate?.someFunctionToPassSomeValue(name: "anyStringValue") } } 类中,您需要将实例分配给自定义委托变量。

ViewController

并实现协议方法:

let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self