[英]Swift: Pass Type as Parameter
是否可以在Swift中傳入Type作為函數參數? 注意:我不想傳入指定類型的對象,而是傳遞Type本身。 例如,如果我想將Swift復制as?
功能:
infix operator <-? { associativity left }
func <-? <U,T>(x:U?, t:T) -> T? {
if let z = x as? t {
return z
}
}
}
當然, t
作為一個類型傳入,但我想傳入Type本身,所以我可以在函數體中檢查該類型。
您可以使用T.Type
,但必須轉換為T
而不是t
:
infix operator <-? { associativity left }
func <-? <U,T>(x:U?, t:T.Type) -> T? {
if let z = x as? T {
return z
}
return nil
}
樣品用法:
[1,2, 3] <-? NSArray.self // Prints {[1, 2, 3]}
[1,2, 3] <-? NSDictionary.self // Prints nil
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.