gpt4 book ai didi

swift - 在 Swift 中将通用数据类型的变量转换为 String

转载 作者:行者123 更新时间:2023-11-28 11:39:01 25 4
gpt4 key购买 nike

我有一个泛型类,其中包含一个泛型数据类型的变量。我需要将此变量转换为字符串。

示例代码 -

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
}
}

我尝试通过 let temp = value as 来向下转换它! String 但它会导致运行时崩溃

执行let temp = String(value) throws Cannot invoke initializer for type 'String' with an argument list of type '(T?)' 构建错误

最佳答案

您可以使用字符串插值在字符串中包含 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)"
}
}

与您的问题无关,但不要将您的任何变量声明为隐式展开的 Optionals(! 在它们的类型之后),尤其是当您在初始化程序中设置它们时。您还应该遵守 Swift 命名约定,即类型 (Test) 的 UpperCamelCase。

关于swift - 在 Swift 中将通用数据类型的变量转换为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54225841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com