我是 swift 的新手,这可能是一个愚蠢的问题,但它让我困惑了很长时间。 这是我的代码,我通过模仿 WWDC 2020 的 swiftUI 介绍中的三明治示例编写了这段代码。
import SwiftUI
struct movieDetail: View {
var idnum:Int
var body: some View {
Text(idnum)
}
}
struct movieDetail_Previews: PreviewProvider {
static var previews: some View {
NavigationView {
movieDetail(idnum:24428)
}
}
}
当它显示为编译错误时:
No exact matches in call to initializer.
WWDC 2020 的示例如下
import SwiftUI
struct sandwichdetail: View {
var sandwich:Sandwich
@State private var zoomed = false
var body: some View {
VStack {
Text(sandwich.name)
}
.navigationTitle(sandwich.name)
.edgesIgnoringSafeArea(.bottom)
}
}
struct sandwichdetail_Previews: PreviewProvider {
static var previews: some View {
NavigationView{
sandwichdetail(sandwich: testData[1])
}
}
}
我不太明白这两段代码之间的区别以及为什么我的代码失败而三明治示例成功显示三明治的名称。
最佳答案
Text
类型没有采用 Int
的初始化程序。试试这个:
Text("\(idnum)")
关于swift - 在调用 Text 的初始化程序时没有完全匹配,我该如何在 SwiftUI 中解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67094473/