我试图在我的项目中使用一个名为SwipeCellKit的容器,在该容器中添加一个名为SwipeTableViewCell的类。到目前为止,我所做的是:

  • 创建故事板的视图控制器。
  • 创建一个UIViewController类。
  • SwipeCellKit导入Swift文件。
  • 将视图控制器分配给该类。
  • 将表视图添加到视图控制器。
  • 将委托和数据源从表视图连接到视图控制器。
  • 将原型单元格添加到表视图,并为其可重复使用的标识符命名为“cell”。
  • 将单元格类更改为SwipeTableViewCell。
  • 将表视图委托添加到视图控制器。
  • numberOfRowscellForRow函数添加到我的UIViewController类。

  • 这是cellForRow的实现:
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! SwipeTableViewCell;
        return cell;
    }
    

    但是我在let cell = ...上出错,说:

    无法将类型“UITableViewCell”的值转换为“SwipeCellKit.SwipeTableViewCell”

    为什么?以及如何解决这个问题?我想我已经安排好了一切。我错过了什么?

    最佳答案

    您需要创建自己的Cell类作为SwipeTableViewCell的子类,然后需要在ViewController中实现SwipeTableViewCellDelegate协议

    ,为此行

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! SwipeTableViewCell
    

    您应该使用您的类名,它是SwipeTableViewCell子类

    示例
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! MySwipeableCell
    cell.delegate = self
    

    关于ios - 无法将类型“UITableViewCell”的值转换为“SwipeCellKit.SwipeTableViewCell”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54399985/

    10-13 03:58