簡體   English   中英

在Swift中將通用數據類型的變量轉換為String

[英]Casting a variable of generic data type to String in Swift

我有一個通用類,其中包含通用數據類型的變量。 我需要將此變量轉換為String。

示例代碼-

class test<T> {
var value:T!
var name: String!

  init(text: String, val: T)
  {
    name = text
    value = val
  }

  func toString() -> String {
    let temp = value as! String
    //let temp = String(value)
    return name + ": " + temp 
  }
}

我嘗試通過讓temp = value as來向下轉換它 字符串,但在運行時會導致崩潰

let temp = String(value)拋出無法使用類型為(T?)的參數列表調用類型為String的初始化程序

您可以使用字符串插值在字符串中包含value

class Test<T> {
    var value:T
    var name: String

    init(text: String, val: T) {
        name = text
        value = val
    }

    func toString() -> String {
        return "\(name): \(value)"
    }
}

與您的問題無關,但不要將任何變量聲明為隱式解包的Optional(在其類型之后為! ),尤其是在初始化程序中設置它們時。 您還應該遵守Swift命名約定,即類型( Test )的UpperCamelCase。

暫無
暫無

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

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