SwiftUI 中的 NavigationLink 不接受参数
Posted
技术标签:
【中文标题】SwiftUI 中的 NavigationLink 不接受参数【英文标题】:NavigationLink in SwiftUI won't accept arguments 【发布时间】:2021-01-14 18:48:34 【问题描述】:我的 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 条错误消息:
传递给不带参数的调用的参数
调用中参数 #1 缺少参数
如果这些对您来说似乎矛盾,请加入俱乐部。一方面,它声称不允许任何参数,然后它标记一个缺少的参数。它似乎想要调用一个“标签”文本参数,这很好,除了我最终想要传递一个视图,我在其他地方已经成功完成了。
对此有什么想法吗?
【问题讨论】:
【参考方案1】:这里是更正的语法
ForEach(mainData) mainDataPoint in
NavigationLink(destination: Selection())
Text("Text Here")
//:LOOP
【讨论】:
以上是关于SwiftUI 中的 NavigationLink 不接受参数的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 中的 NavigationLink 不接受参数
表单/表格中的 SwiftUI 多个 NavigationLink - 条目保持突出显示
使用 XCTestCases 类中的可访问性标识符访问 NavigationLink - SwiftUI
LazyVGrid 中的 NavigationLink 循环返回所有条目,SwiftUI
NavigationLink SwiftUI 中的三元运算符
为啥我的 SwiftUI 应用程序在 `NavigationView` 中的 `navigationBarItems` 内放置 `NavigationLink` 后向后导航时崩溃?