Arrays 快速返回随机字符串
为什么这只适用于数字? 我可以显示一个随机数,但不能显示一个随机字符串。 如何格式化Arrays 快速返回随机字符串,arrays,swift,string,int,swiftui,Arrays,Swift,String,Int,Swiftui,为什么这只适用于数字? 我可以显示一个随机数,但不能显示一个随机字符串。 如何格式化 struct ContentView: View { let results = [8, 5, 10].map(Result.init) let orden = ["hej", "ta", "tojj"].map(Ord.init) @State var randomResult: Result? @State var randomOrd: Ord? var bod
struct ContentView: View {
let results = [8, 5, 10].map(Result.init)
let orden = ["hej", "ta", "tojj"].map(Ord.init)
@State var randomResult: Result?
@State var randomOrd: Ord?
var body: some View {
VStack {
Button(action: {
self.randomResult = self.results.randomElement()
self.randomOrd = self.orden.randomElement()
}) {
Text("Button title, \(randomResult?.score ?? 0)")
Text(randomOrd?.ord ?? 0)
// THIS DOESN'T WORK even when i put an Int around it
}
}
}
}
默认值
0
绝对不是字符串。等效字符串是空字符串
Text(randomOrd?.ord ?? "")
采用StringProtocol
类型的content
:
init(\ucontent:S),其中S:StringProtocol
注意,在
Text("Button title, \(randomResult?.score ?? 0)")
您正在传递一个有效的字符串(带插值int)。然而,在
Text(randomOrd?.ord ?? 0)
似乎您正试图直接传递一个int,这是无效的
根据作战需求文件的类型:
如果是字符串,则应将其实现为:
Text(randomOrd?.ord ?? "0") // OR maybe Text(randomOrd?.ord ?? "")
如果它是一个整数:
Text("\(randomOrd?.ord ?? 0)")