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類中處理這個問題?