当我将数组作为参数时,SwiftUI视图有时会创建线程1:EXC_BAD_访问(代码=1,地址=0x6002005b8368)
SwiftUI视图文件当我将数组作为参数时,SwiftUI视图有时会创建线程1:EXC_BAD_访问(代码=1,地址=0x6002005b8368),swift,swiftui,macos-catalina,xcode11.3,Swift,Swiftui,Macos Catalina,Xcode11.3,SwiftUI视图文件 struct NoteListView: View { @EnvironmentObject var presenter: NoteListPresenter var body: some View { NavigationView{ AddNoteButton() Text(presenter.noteViewModels[0].title) } } } struc
struct NoteListView: View {
@EnvironmentObject var presenter: NoteListPresenter
var body: some View {
NavigationView{
AddNoteButton()
Text(presenter.noteViewModels[0].title)
}
}
}
struct NoteListView_Previews: PreviewProvider {
static var previews: some View {
NoteListView()
}
}
我第一次遇到这个错误是在我完成逻辑编写并开始编写视图时。在将我的自定义按钮添加到主视图后,AddNoteButton()出现了以下错误,尽管在我添加此按钮之前它已经工作了。我试图重写我的视图,但尽管它在开始时在某个随机时间点起作用,但它再次抛出此错误(换句话说,有时它起作用,但当我添加一些不相关的代码时,它停止工作,放弃更改并不能解决问题)。它总是高亮显示行,我在NoteListView中使用noteViewModels数组
此外,我还添加了一个方法,该方法将数组打印到presenter,并且它总是打印所有内容
func printAll(){
for element in self.noteViewModels{
print(element.title)
}
}
我不能添加其他文件,因为它们太多了。但我希望我提供了足够的信息,如果您认为没有足够的信息,您可以自由询问我,或者您可以查看github:
Xcode版本11.3
Mac OS版本Catalina 10.15.2添加NotButton的代码是什么?如果你把它注释掉会怎么样?或者注释掉部分?添加按钮是一个视图。它实际上是一个导航视图,显示了另一个视图。我的意思是,问题代码可能在
AddNoteButton
中。要解决这个问题,您可以尝试注释部分,直到它工作为止,这样可以找到有问题的代码。如果您无法解决此问题,您可以将代码发布到此处,以便其他人能够提供帮助。在此处编写代码非常重要,因此我添加了指向Gitub的链接AddNoteButton
类似乎很好,因此可能noteViewModels[0]
不存在。即,noteViewModels
为空。试着用文本注释这行,看看崩溃是否消失。