Swift子类化一个类的问题

时间:2017-07-31 05:16:16

标签: ios swift uitableview swift3 subclass

我有一个像这样的表格视图单元格,代码崩溃了:

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

我有代码来创建子类,如下所示:

class TestedViewCell: SwipeTableViewCell
{
    var animator: Any?
}

以上行与导入的工具包在同一文件中。然后我得到错误:

Could not cast value of type 'SwipeCellKit.SwipeTableViewCell' (0x100121a60) to 'app.TestedViewCell' (0x100076f40).

我是否将其子类错了?感谢。

2 个答案:

答案 0 :(得分:1)

尝试在ViewDidLaod

中注册TestedViewCell
self.tableView.registerClass(TestedViewCell.self, forCellReuseIdentifier: "reuseIdentifier")

答案 1 :(得分:1)

从您的错误中

  

无法转换类型' SwipeCellKit.SwipeTableViewCell'   (0x100121a60)到app.TestedViewCell' (0x100076f40)。

很明显,您正在尝试将SwipeTableViewcell转换为TestedViewCell。 TestedViewCell是SwipeTableViewcell的子类。问题可能出在您的注册单元格中。您需要将viewDidLoad中的单元格注册为

self.tableView.registerClass(TestedViewCell.self, forCellReuseIdentifier: "testedViewCell")