代码之家  ›  专栏  ›  技术社区  ›  Jake

使用Swiftui中的导航栏标题进行exc_bad_访问

  •  0
  • Jake  · 技术社区  · 7 年前

    每当我在Swiftui视图中包含导航栏标题时,我的iPhone(但不是模拟器)就会崩溃。如果我拿出导航栏的标题,一切正常,但我需要标题在那里。这是我的代码:

    NavigationView {
        List {
            ForEach(self.viewModel.tasks) { task in
                TaskRow(task: task)
            }
                .onDelete(perform: self.viewModel.delete(indexSet:))
        }
            .listStyle(.grouped)
            .edgesIgnoringSafeArea(.bottom)
            .navigationBarTitle(Text("mainTitle")) //EXC_BAD_ACCESS crash here
    }
    

    更新

    我剥离了上面的代码,并开始了一个新的项目,以确保它不是我的自定义用户界面或我的业务逻辑在做一些奇怪的事情。下面的代码在我的iPhone上产生相同的崩溃。

    struct ContentView : View {
        var body: some View {
            NavigationView {
                List {
                    ForEach((0...10).identified(by: \.self)) { val in
                        Text("test")
                        }
                    }
                    .listStyle(.grouped)
                    .edgesIgnoringSafeArea(.bottom)
                    .navigationBarTitle(Text("Hey"))
            }
        }
    }
    

    知道为什么会发生这种情况,或者怎么解决它吗?

    0 回复  |  直到 7 年前
        1
  •  2
  •   Jake    7 年前

    我解决了问题。我用xcode 11测试版1构建,但我的iPhone运行的是iOS13测试版2。因为Swift框架现在已经内置到iOS中,所以我手机上的Swift框架(使用beta 2 sdk)正在做我的iOS应用程序(使用beta1sdk编译)不希望做的事情。一旦我升级到Xcode11测试版2,一切都很好。