在Swift中创建符合协议的对象

时间:2017-07-19 12:01:18

标签: swift

我想创建我知道的单元格,符合特定协议。

然而,当我尝试做的时候:

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell<ModelBinding> = tableView.dequeueReusableCell(withIdentifier: "VacanciesCell", for: indexPath as IndexPath)

        return cell
    }

我收到了一个错误。如何解决?

1 个答案:

答案 0 :(得分:2)

您必须子类化cell,它确认您要使用的协议。在这里,我创建了示例协议 CustomCell 确认我创建的协议。

<强> 1。样本协议

protocol MyProtocol {
    func protocolMethod()

}

<强> 2。自定义subClassed单元格

class CustomCell:UITableViewCell,MyProtocol {

    //Implementation of Protol method
    func protocolMethod() {

    }

}

第3。在tableview上使用该单元格

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell:CustomCell = tableView.dequeueReusableCell(withIdentifier: "VacanciesCell", for: indexPath as IndexPath) as! CustomCell

    return cell
}