0
我想要一個函數來返回一個可以初始化的類型(可能以特定的方式,例如使用特定的參數)。在許多其他方面獲得相同的結果是可能的,但我特別尋找這種語法糖。 我不知道它是否能在類似於這樣的方式來完成:有可以初始化的Swift函數返回類型
protocol P {
init()
}
extension Int: P {
public init() {
self.init()
}
}
// same extension for String and Double
func Object<T: P>(forType type: String) -> T.Type? {
switch type {
case "string":
return String.self as? T.Type
case "int":
return Int.self as? T.Type
case "double":
return Double.self as? T.Type
default:
return nil
}
}
let typedValue = Object(forType: "int")()