SwiftUI 中的 NavigationLink 不接受参数
NavigationLink in SwiftUI won't accept arguments
我的 NavigationLink 似乎没有像宣传的那样工作,因为它不接受显示文本或视图的参数。我的代码如下:
struct MainContentView: View {
var body: some View {
// MARK: PROPERTIES
let mainData: [MainData] =
Bundle.main.decode("mainData.json")
// MARK: BODY
NavigationView {
List {
Image("hsSampleBack")
.resizable()
.scaledToFill()
.frame(height: 300)
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
ForEach(mainData) { mainDataPoint in
NavigationLink(destination: Selection() {
Text("Text Here")
})
}//:LOOP
} //: LIST
.navigationBarTitle("Data Points", displayMode: .large)
} //: NAVIGATION
}
}
我在 NavigationLink 线路上收到以下 2 条错误消息:
Argument passed to call that takes no arguments
Missing argument for parameter #1 in call
如果您觉得这些矛盾,请加入俱乐部。一方面,它声称不允许任何参数,然后它标记了一个缺失的参数。它似乎想要调用一个“标签”文本参数,这很好,除了我最终想传递一个视图,我在其他地方已经成功完成了。
对此有什么想法吗?
这里是更正后的语法
ForEach(mainData) { mainDataPoint in
NavigationLink(destination: Selection()) {
Text("Text Here")
}
}//:LOOP
我的 NavigationLink 似乎没有像宣传的那样工作,因为它不接受显示文本或视图的参数。我的代码如下:
struct MainContentView: View {
var body: some View {
// MARK: PROPERTIES
let mainData: [MainData] =
Bundle.main.decode("mainData.json")
// MARK: BODY
NavigationView {
List {
Image("hsSampleBack")
.resizable()
.scaledToFill()
.frame(height: 300)
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
ForEach(mainData) { mainDataPoint in
NavigationLink(destination: Selection() {
Text("Text Here")
})
}//:LOOP
} //: LIST
.navigationBarTitle("Data Points", displayMode: .large)
} //: NAVIGATION
}
}
我在 NavigationLink 线路上收到以下 2 条错误消息:
Argument passed to call that takes no arguments
Missing argument for parameter #1 in call
如果您觉得这些矛盾,请加入俱乐部。一方面,它声称不允许任何参数,然后它标记了一个缺失的参数。它似乎想要调用一个“标签”文本参数,这很好,除了我最终想传递一个视图,我在其他地方已经成功完成了。
对此有什么想法吗?
这里是更正后的语法
ForEach(mainData) { mainDataPoint in
NavigationLink(destination: Selection()) {
Text("Text Here")
}
}//:LOOP