簡體   English   中英

如何檢查泛型類型是否可以在 swift 中轉換為 String

[英]How to check a generic type can be converted to String in swift

如何檢查 Generic 類型是否可以轉換為String 像下面,

class Stack<T> {
    var values = [T]()

    func debugPrint() {
        values.map {
          String($0) // How to check if $0 can be converted to String?
        }
    }
}

如果您希望您的類僅處理可以強制轉換為 String 的類型,請更改泛型定義,以便 T 符合LosslessStringConvertible

class Stack<T:LosslessStringConvertible> 

另一方面,如果您只對獲取用於打印的字符串感興趣,那么您可以使用String(describing:)

 values.map {
    String(describing:$0)
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM