3
假设我们有以下的协议和类:检查是否泛型类型的具体类型的内部类
protocol Numeric { }
extension Float: Numeric {}
extension Double: Numeric {}
extension Int: Numeric {}
class NumericProcessor<T:Numeric> {
var test:T
func processString(stringValue: String?)
if T is Double {
test = Double(stringValue)
}
}
}
我要的是字符串到spesific牛逼转换:数字。
test = T(stringValue)
将不起作用,虽然Double(stringValue),Float(stringValue)将工作。
if T is Double {
test = Double(stringValue)
}
不能工作,因为T is Double
不会被问到。 我怎么可能在通用的Numeric类中处理这个问题?