首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NavigationStack在Xcode beta中的navigationDestination无法导航

NavigationStack在Xcode beta中的navigationDestination无法导航
EN

Stack Overflow用户
提问于 2022-07-25 03:10:46
回答 2查看 569关注 0票数 2

我仍然是SwiftUI框架的新手,我正在学习HackingWithSwift for NavigationStack。我遵循了所有的步骤,唯一的区别就是我的代码结果。我运行没有任何错误,就像在视频中一样,但我无法导航到我的详细目的地。

代码语言:javascript
运行
复制
  struct ContentView: View {
   var destinations = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
   var body: some View {
    NavigationStack {
        List(destinations, id: \.self) { i in
            NavigationLink(value: i) {
                Label("Row \(i)", systemImage: "\(i).circle")
            }
        }
        .navigationDestination(for: Int.self) { i in
            Text("Detail \(i)")
        }
        .navigationTitle("Navigation")
     }
   }
  }

我的模拟器显示带有标签的行列表,但我无法导航。这可能是偶然的错误,因为这仍然是新的。提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2022-07-25 03:17:34

List数据是一个String数组,但.navigationDestination值类型是Int

要解决问题,请修改.navigationDestination的数据类型,如下所示:

代码语言:javascript
运行
复制
.navigationDestination(for: String.self) { I in //modify here
        Text("Detail \(i)")
}
票数 2
EN

Stack Overflow用户

发布于 2022-07-25 11:32:02

对于静态的List数组有特殊的Int (和ForEach)语法,如下所示:

代码语言:javascript
运行
复制
struct NavTestView: View {

  //let destinations = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]

  var body: some View {
   NavigationStack {
       List(1..<10) { i in
           NavigationLink(value: i) {
               Label("Row \(i)", systemImage: "\(i).circle")
           }
       }
       .navigationDestination(for: Int.self) { i in
           Text("Detail \(i)")
       }
       .navigationTitle("Navigation")
    }
  }
 }

如果您继续需要一个动态数组,即添加或删除项,您真的不应该误用API与id:\.self哈克,否则它会崩溃,您需要迁移到包含唯一标识符的属性的结构数组,甚至更好地将结构与提供id属性供List/ForEach自动使用的Identifiable保持一致,例如,

代码语言:javascript
运行
复制
struct ListItem: Identifiable {
    let id = UUID()
    var number: Int
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73103682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档