[英]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.