获取实现协议swift的类类型

时间:2015-10-29 19:23:11

标签: ios swift uitableview protocols

所以我想做的是让我很容易在一个tableView上实现许多自定义UITableViewCells,为此我想创建一个方便填写函数的协议:

- (void)registerClass:(nullable Class)cellClass forCellReuseIdentifier:(NSString *)identifier
到目前为止我的协议看起来像这样:

protocol TableViewCellClassReportingProtocol: class {
    func reuseID() -> String
}

extension TableViewCellClassReportingProtocol {
    static func classObject() -> AnyClass? {
        return self.class
    }
}

然而,即使我指定此协议必须由类实现,我仍然遇到获取类类型的问题。任何建议,我可能会以错误的方式接近

1 个答案:

答案 0 :(得分:0)

所以这是接近正确的答案,让我既详细说明也要归功于Charles A.

dynamicType是答案的一部分!很棒的电话!

函数implamintation也不得不改变,因为子类化和静态真的意味着“类最终”

Protocol for class method

覆盖点必须是

override class func reuseID() -> String