对 Text 初始化程序的调用没有完全匹配,如何在 SwiftUI 中解决此问题?

680*_*680 4 swift swiftui

我是 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)
        }
       
    }
}
Run Code Online (Sandbox Code Playgroud)

当它显示为编译错误时:

对初始化程序的调用中没有完全匹配。

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])
        }
        
    }
}
Run Code Online (Sandbox Code Playgroud)

我不太明白这两段代码之间的区别以及为什么我的代码失败而三明治示例成功显示了三明治的名称。

rob*_*off 5

Text类型没有采用Int. 试试这个:

Text("\(idnum)")
Run Code Online (Sandbox Code Playgroud)