我试图在我的应用程序中创建一个作为排行榜的列表。当点击另一个主视图上的按钮时,它应该添加一个新值。然而,我一直得到这个错误,我不知道为什么。下面是列表视图的代码:
"
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@State var counter = 0
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(1..<gameTracker) {
Text("Game ($0): (gameScores[gameTracker]) ")
}
}
}
}
}
"我在我的contentView上创建了一个数组,在按钮被点击一定次数后附加一个值。然而,当我尝试在列表文本中插入该值时,我收到了这个错误。这怎么可能解决呢?
这是一种类型安全警告。字符串插值需要一个字符串可转换对象。任何对象都可以表示为字符串,但如果没有显式实现,它将是关于类或结构的信息,名称,地址等。这很可能不是你想在字符串上看到的,这就是为什么会出现这个错误。
您可以使用String(describing:
:
struct scoreView: View {
@Binding var scoreTracker: Int
@Binding var gameTracker: Int
@Binding var gameScores: [Any]
@State var counter = 0
var body: some View {
Text("Scores: ")
VStack {
List {
ForEach(1..<gameTracker) {
Text("Game ($0): (String(describing: gameScores[gameTracker])) ")
}
}
}
}
}