我正在尝试使用这样的条件设置typealias
:
typealias dataType = (x == y ? ButtonTableCell : InputTableCell)
ButtonTableCell
和InputTableCell
都是类,所以稍后我可以像这样使用dataType
:
let cell = tableView.dequeueReusableCell(withIdentifier: "buttonCell", for: indexPath as IndexPath) as! dataType
我不知道Swift
中是否可行答案 0 :(得分:3)
这是不可能的。但是,您可以制定协议或泛型来接近它。
protocol TableCell {
// put stuff here
}
extension ButtonTableCell: TableCell { }
extension InputTableCell: TableCell { }
class MyClass<X: TableCell> {
typealias dataType = X
}