从UITableViewCell标识符获取类

时间:2015-08-06 20:32:26

标签: ios swift uitableview

我有一大堆UITableViewCell的子类,所有这些单元格都有一个类方法,它返回单元格类型的估计高度...

所以我想做的就是能够通过知道单元标识符来调用该方法(我不想使用带有Class的Switch映射标识符)。我想不出这样做的方法......

我知道有一个NSClassFromString但我不能使用它,因为我的对象不从NSObject继承......

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以将类名称指定为单元格标识符,然后执行以下操作:

Class cellClass = NSClassFromString(cellIdentifier);

答案 1 :(得分:0)

您可以通过调用cellForRowAtIndexPath获取dequeueReusableCellWithIdentifier中的单元格并将其转换为自定义单元格类型。然后你可以调用你想要的任何方法。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if indexPath.row == 0 {
        let cell = tableView.dequeueReusableCellWithReuseIdentifier(myIdentifier, forIndexPath: indexPath) as! MyTableViewCell
        // call class methods here
        return cell
    }
}